Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL]jak zaktualizowac newsa o danym ID
Qss
post 24.02.2009, 15:26:20
Post #1





Grupa: Zarejestrowani
Postów: 141
Pomógł: 7
Dołączył: 22.02.2009

Ostrzeżenie: (0%)
-----


zrobiłem formularz edycji newsa czyli wczytałem do inputów rekordy z bazy

pod adresem ...../edit_news.php?newsid=1 wyświetla się właśnie ten news do edycji o podanym id

teraz jak napisać zapytanie UPDATE żeby właśnie aktualizowało news o id podanym w adresie

  1. <?php
  2. $zapytanie = "UPDATE news SET title='".$title."', newspartone='".$newspartone."', newsparttwo='".$newsparttwo."'" ;
  3. ?>


ja mam powyższe zapytanie i aktualizuje wszystkie rekordy a tabeli ;/
Go to the top of the page
+Quote Post
tomsi
post 24.02.2009, 15:28:59
Post #2





Grupa: Zarejestrowani
Postów: 379
Pomógł: 45
Dołączył: 30.06.2007

Ostrzeżenie: (10%)
X----


W zapytaniu dodaj WHERE np. jeśli chcesz pierwszy news to mmyśle, że dobrze będzie jeśli wybierzesz numer id z paska adresu i wpiszesz właśnie w WHERE.

Ten post edytował tomsi 24.02.2009, 15:33:53


--------------------
Jeśli Ci pomogłem kliknij "Pomógł"
Jeśli Ty mi pomogłeś kliknę "Pomógł"
Go to the top of the page
+Quote Post
Fantazyn
post 24.02.2009, 15:35:08
Post #3





Grupa: Zarejestrowani
Postów: 135
Pomógł: 38
Dołączył: 24.02.2007
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


  1. <?php
  2. $zapytanie = "UPDATE news SET title='".$title."', newspartone='".$newspartone."', newsparttwo='".$newsparttwo."' WHERE id = '".$id."'" ;
  3. ?>


--------------------
Go to the top of the page
+Quote Post
ArekJ
post 24.02.2009, 15:48:21
Post #4





Grupa: Zarejestrowani
Postów: 266
Pomógł: 9
Dołączył: 21.05.2008
Skąd: Łomianki

Ostrzeżenie: (0%)
-----


@Fantazyn podał dobre rozwiązanie, tylko w zmienną ID wsadź sobie $_GET['newsid'].


--------------------

"Do bramy, bo pada deszcz
Gdy zaćpiesz przejdzie dreszcz
I wróci, wróci tęcza barw
I pęknie twój wrogi świat" R. Riedel
Go to the top of the page
+Quote Post
Qss
post 24.02.2009, 15:59:09
Post #5





Grupa: Zarejestrowani
Postów: 141
Pomógł: 7
Dołączył: 22.02.2009

Ostrzeżenie: (0%)
-----


jak dam $_GET['newsid'] wywala błąd a jak dam $id to tez klapa bo nie jest zdeklarowana
Parse error: syntax error, unexpected T_VARIABLE in......
Go to the top of the page
+Quote Post
ayeo
post 24.02.2009, 16:01:10
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


~Qss, proponuję zacząć od jakiegoś kursu winksmiley.jpg W komunikacie błędu masz napisane co jest źle poza tym.

Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
Qss
post 24.02.2009, 16:05:06
Post #7





Grupa: Zarejestrowani
Postów: 141
Pomógł: 7
Dołączył: 22.02.2009

Ostrzeżenie: (0%)
-----


może rzucę na to nico więcej światła haha.gif

plik edit_news.php (z formularzem od edycji)

  1. <?php
  2. require('db_connect.php');
  3.  
  4.  
  5. if(intval($_GET['newsid']))
  6. {
  7.  
  8.  echo '<p><a href="index.php">Najnowsze newsy</a></p>';
  9.  
  10.  
  11.  $sql="SELECT dodano, title, newspartone, newsparttwo FROM news WHERE id='".intval($_GET['newsid'])."'";
  12.  $wynik=mysql_query($sql);
  13.  if($r=mysql_fetch_assoc($wynik))
  14.  {
  15.  
  16.  echo '<form method="post" action="edit_przetworz.php">';
  17.  
  18. echo ' Temat:<br /><input class="t_news" name="title" type="text" size="19" maxlength="200" value="'.$r['title'].'"><br />
  19. Pierwsza część newsa:<br /><textarea class="first_news" name="newspartone" type="text" cols="" rows="" >'.$r['newspartone'].'</textarea><br />
  20. Druga część newsa:<br />
  21. <textarea class="second_news" name="newsparttwo" type="text" cols="" rows="" >'.$r['newsparttwo'].'</textarea><br />
  22. <input name="addnews" type="submit" value="Dodaj"><input name="resetnews" type="reset" value="Wyczyść wszystko"></form>';
  23.  
  24.  
  25.   }}
  26.        else
  27.        {
  28.          $sql="SELECT id, title FROM news";
  29.  $wynik=mysql_query($sql);
  30.  while($r=mysql_fetch_assoc($wynik))
  31.  {
  32.    echo $r['title'].'<br />';
  33.    echo '<a href="edit_news.php?newsid='.$r['id'].'">edytuj</a><br />';
  34.  
  35.  }
  36.        }
  37. ?>


i drugi to przetwarzania tego co wpisane w inputach... edit_przetworz.php

  1. <?php
  2. $title = $_POST['title'];
  3. $newspartone = $_POST['newspartone'];
  4. $newsparttwo = $_POST['newsparttwo'];
  5.  
  6. require('db_connect.php');
  7. $zapytanie = "UPDATE news SET title='".$title."', newspartone='".$newspartone."', newsparttwo='".$newsparttwo."'
  8. WHERE id ='"$_GET['newsid']"'";
  9. ?>


Ten post edytował Qss 24.02.2009, 16:06:05
Go to the top of the page
+Quote Post
matixrr
post 24.02.2009, 16:22:54
Post #8





Grupa: Zarejestrowani
Postów: 207
Pomógł: 44
Dołączył: 14.04.2007

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $title = $_POST['title'];
  3. $newspartone = $_POST['newspartone'];
  4. $newsparttwo = $_POST['newsparttwo'];
  5.  
  6. require('db_connect.php');
  7. $zapytanie = "UPDATE news SET title='$title', newspartone='$newspartone', newsparttwo='$newsparttwo' WHERE id='{$_GET['newsid']}'";
  8. ?>


Ten post edytował matixrr 24.02.2009, 16:23:39


--------------------
Pomogłem? Zmotywuj mnie do dalszej pracy i kliknij magiczny przycisk:

Go to the top of the page
+Quote Post
Qss
post 24.02.2009, 16:41:18
Post #9





Grupa: Zarejestrowani
Postów: 141
Pomógł: 7
Dołączył: 22.02.2009

Ostrzeżenie: (0%)
-----


to wyżej to już wogole niedziała
bląd unexpected '{ w lini 8 więc {} z get nie mają sensu

Ten post edytował Qss 24.02.2009, 17:49:35
Go to the top of the page
+Quote Post
piotrooo89
post 24.02.2009, 18:08:52
Post #10


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




  1. <?php
  2. $title = $_POST['title'];
  3. $newspartone = $_POST['newspartone'];
  4. $newsparttwo = $_POST['newsparttwo'];
  5. $id=$_GET['newsid'];
  6.  
  7. require('db_connect.php');
  8. $zapytanie = "UPDATE news SET title='".$title."', newspartone='".$newspartone."', newsparttwo='".$newsparttwo."' WHERE id='$id'";
  9. ?>


może tak?

Ten post edytował piotrooo89 24.02.2009, 18:11:02


--------------------
Go to the top of the page
+Quote Post
Qss
post 24.02.2009, 20:52:43
Post #11





Grupa: Zarejestrowani
Postów: 141
Pomógł: 7
Dołączył: 22.02.2009

Ostrzeżenie: (0%)
-----


to nic niedaje mam pytanie czy wogole moja koncepcja edytowania postów jest poprawna?
Go to the top of the page
+Quote Post
Spawnm
post 24.02.2009, 21:13:26
Post #12





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




a co ci teraz wyskakuje ?
jeśli post mogą edytować wszyscy to filtruj dane:
mysql_real_escape_string()" title="Zobacz w manualu PHP" target="_manual

$title =mysql_real_escape_string($_POST['title']); itp...
Go to the top of the page
+Quote Post
Suh
post 25.02.2009, 07:23:54
Post #13





Grupa: Zarejestrowani
Postów: 112
Pomógł: 27
Dołączył: 24.08.2007
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


Spróbuj napisać zapytanie do sql w ten sposób :

  1. $zapytanie = "UPDATE news SET title='$title', newspartone='$newspartone', newsparttwo='$newsparttwo' WHERE id='$_GET[newsid]'";


--------------------
Pomogłem ? Odwdzięcz się, kliknij POMÓGŁ.
Go to the top of the page
+Quote Post
piotrooo89
post 25.02.2009, 10:41:00
Post #14


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




czy w tych zmiennych masz wartości? czy łączysz się poprawnie z bazą danych? i przetestuj coś takiego?

  1. <?php
  2. $zapytanie = mysql_query("UPDATE news SET title='".$title."', newspartone='".$newspartone."', newsparttwo='".$newsparttwo."' WHERE id='$id'") or die(mysql_error());
  3. ?>


i powiedz czy zwraca jakieś błędy.


--------------------
Go to the top of the page
+Quote Post
Hpsi
post 25.02.2009, 11:18:57
Post #15





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


zechuj to zapytanie także zebysmy widzieli czy jak wyzej juz sie spytal piotro masz w nich wartosc np tak:
  1. <?php
  2. echo ("UPDATE news SET title='".$title."', newspartone='".$newspartone."', newsparttwo='".$newsparttwo."' WHERE id='$id'");
  3. ?>


--------------------
Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga
Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie
Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas

===
po prostu kocham ją :D haha
Go to the top of the page
+Quote Post
slewin
post 25.02.2009, 12:21:45
Post #16





Grupa: Zarejestrowani
Postów: 104
Pomógł: 7
Dołączył: 9.12.2008
Skąd: wroc

Ostrzeżenie: (0%)
-----


ciężko szukać dziury w całym . Najlepiej wrzuć sobie linijkę na początku skryptu <?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
?> . ayeo juz o tym wspomniał . Nam jest cięzko wychwycić błąd który jest mało widoczny .

Twoja koncepcja nie jest zła . Ja bym jednak te dwa pliki połączył w jeden . Więcej plików , większy młyn , więcej poprawiania i strata czasu tongue.gif .
Nie wiem po co to wrzuciłeś intval($_GE.......) , nie może być samo $_GET questionmark.gif
Go to the top of the page
+Quote Post
ayeo
post 25.02.2009, 12:39:42
Post #17





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


~Qss, przesadzasz. Wyskakuje Ci, że masz błąd w linii 8, masz napisane dokładnie co jest nie tak! Tak trudno chwilkę pomyśleć? Szybciej sam to rozwiążesz zanim napiszesz kolejnego posta na forum. Piszesz o każdą durną literówkę! Myśl i czytaj komunikaty błędów!

Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
Qss
post 25.02.2009, 16:14:27
Post #18





Grupa: Zarejestrowani
Postów: 141
Pomógł: 7
Dołączył: 22.02.2009

Ostrzeżenie: (0%)
-----


wielkie dzięki za chęć pomocy ale już sobie sam poradziłem haha.gif dzieki za rady i sorry za zaśmiecanie forum czasem ma po prostu dość i pisze ale znalazłem noew chęci i znalazłem błedy ;p

Ten post edytował Qss 25.02.2009, 16:16:16
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 1.07.2025 - 01:51