Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie dodaje rekordu
Forum PHP.pl > Forum > Bazy danych > MySQL
Max1992
Witam, mam pytanie czemu poniższy kod nie dodaje mi rekordu do bazy danych?questionmark.gif Oraz 2 pytanie czemu po przesłąni zmiennej komentarz idzie mi do strony id.php?id=" a nie np id.php?id=2??
  1. <?
  2. include("meta.php");
  3. include("config.php");
  4. $queryy="SELECT * FROM aktualnosci";
  5. $resultt = mysql_query ($queryy);
  6.  while ($row = mysql_fetch_array($resultt)) 
  7.  {
  8. if ($_GET['id']==$row['id'])
  9. {
  10.  echo('<table border="0">') ;
  11.  echo('<tr><td><b><a href'.$row['tytul'].'</b></td><td align="right">'.date("d.m.Y H:i:s",$row['data_dodania']).'</td></tr>');
  12.  echo('<tr><td colspan="2" style="text-align:justify;">'.$row['tresc'].'</td></tr>');
  13.  echo('<tr><td>Dodał: <b>'.$row['autor'].'</b></td><td align="right">Źródło: <b>'.$row['zrodlo'].'</b></td></tr>');
  14.  echo('<tr><td>Komentarze:</td></tr>');
  15.  echo('</table><hr />');
  16.  }
  17. }
  18. include("forumbottom.php");
  19. $czas.=date("d-m-Y ");
  20. $czas.=date("G:i:s"); 
  21. $zapytaniekom = "INSERT INTO komentarze ('id', 'dodano', 'autor', 'tresc') VALUES ('".$row['id']."','$czas', '$userdata[username]', '$_POST[komentarz]')";
  22. mysql_query($zapytaniekom);
  23. echo" <table class=panel>
  24. <tr><th class=panel>Dodanie nowego komentarza</th></tr>
  25. <tr><td style=padding-left:10px;>";
  26. echo" <form name=news method=post action=id.php?id='".$row['id']."'>";
  27. echo "  <center> <textarea name=komentarz rows=5 cols=100></textarea><br>
  28. <b>Uwaga:</b> brak kultury, obrażanie innych, pisanie nic nie wnoszących lub nie związanyc
    h z danym tematem komentarzy, poruszanie spraw ze świata religii lub polityki, mo
    że się skończyć usunięciem komentarza bez ostrzeżenia lub w najgorszym wypadku za
    blokowaniem twojego konta.<br>
  29. <input type=submit value=Wyslij>  <input type=reset value=Wyczyść></td></tr></table></center>";
  30. ?>
Kicok
bo gdy pętla:
  1. <?php
  2. while ($row = mysql_fetch_array($resultt)) 
  3.  {
  4. if ($_GET['id']==$row['id'])
  5. {
  6.  echo('<table border="0">') ;
  7.  echo('<tr><td><b><a href'.$row['tytul'].'</b></td><td align="right">'.date("d.m.Y H:i:s",$row['data_dodania']).'</td></tr>');
  8.  echo('<tr><td colspan="2" style="text-align:justify;">'.$row['tresc'].'</td></tr>');
  9.  echo('<tr><td>Dodał: <b>'.$row['autor'].'</b></td><td align="right">Źródło: <b>'.$row['zrodlo'].'</b></td></tr>');
  10.  echo('<tr><td>Komentarze:</td></tr>');
  11.  echo('</table><hr />');
  12.  }
  13. }
  14. ?>

skończy się wykonywać, to $row będzie miał wartość false.


A w ogóle, to dlaczego pobierasz wszystkie dane z tabeli aktualności? Nie możesz wykonać zapytania:
  1. <?php
  2. $id = ( isset( $_GET['id'] ) ? intval( $_GET['id'] ) : 0 );
  3. $queryy = 'SELECT * FROM aktualnosci WHERE id = ' . $id;
  4. ?>

Wtedy nie będziesz musiał w ogóle żadnej pętli używać.
Max1992
  1. <?php
  2. $id = ( isset( $_GET['id'] ) ? intval( $_GET['id'] ) : 0 );
  3. $queryy = 'SELECT * FROM aktualnosci WHERE id = ' . $id;
  4. ?>


kumam do momentu intval( $_GET['id'] ) po co to dzielone przez 0?questionmark.gif
Kicok
To jest taka skrócona wersja if'a. Składnia:
Cytat
WARUNEK ? WYKONAJ_JEŚLI_SPEŁNIONY : WYKONAJ_JEŚLI_NIESPEŁNIONY



Powyższy kod odpowiada zapisowi:
  1. <?php
  2.  
  3. if( isset( $_GET['id'] ) )
  4. {
  5. $id = intval( $_GET['id'] );
  6. }
  7. else
  8. {
  9. $id = 0;
  10. }
  11.  
  12. ?>



A dzieli się slashem, a nie dwukropkiem ;]
Max1992
a jak np. $row['tytul'] to

$id = ( isset( $_GET['tytul'] ) ? intval( $_GET['tytul'] ) : 0 );

questionmark.gifquestionmark.gif
nospor
no wlacz myslenie troche. Przeciez tytul to zapewne tekst, wiec chyba nie bedziesz go rzutowal na liczbe?
Max1992
przerobiłem i odczytuje id ale ciągle nie dodaje rekordu

  1. <?
  2. include("meta.php");
  3. include("config.php");
  4. $queryy="SELECT * FROM aktualnosci";
  5. $resultt = mysql_query ($queryy);
  6.  while ($row = mysql_fetch_array($resultt)) 
  7.  {
  8. if ($_GET['id']==$row['id'])
  9. {
  10.  echo('<table border="0">') ;
  11.  echo('<tr><td><b><a href'.$row['tytul'].'</b></td><td align="right">'.date("d.m.Y H:i:s",$row['data_dodania']).'</td></tr>');
  12.  echo('<tr><td colspan="2" style="text-align:justify;">'.$row['tresc'].'</td></tr>');
  13.  echo('<tr><td>Dodał: <b>'.$row['autor'].'</b></td><td align="right">Źródło: <b>'.$row['zrodlo'].'</b></td></tr>');
  14.  echo('<tr><td>Komentarze:</td></tr>');
  15.  echo('</table><hr />');
  16.  }
  17. }
  18. $queryw="SELECT id FROM aktualnosci";
  19. $resultw = mysql_query ($queryw);
  20.  if ($roww = mysql_fetch_array($resultw)) 
  21.  {
  22. $id_id_id = $roww['id'];
  23. echo "$id_id_id";
  24. include("forumbottom.php");
  25. echo "$id_id_id";
  26. $czas.=date("d-m-Y ");
  27. $czas.=date("G:i:s"); 
  28. $zapytaniekom = "INSERT INTO komentarze ('id_id', 'dodano', 'autor', 'tresc') VALUES ('$id_id_id','$czas', '$userdata[username]', '$_POST[komentarz]')";
  29. mysql_query($zapytaniekom);
  30. echo" <table class=panel>
  31. <tr><th class=panel>Dodanie nowego komentarza</th></tr>
  32. <tr><td style=padding-left:10px;>
  33.  <form name=news method=post action=id.php?id=$id_id_id>
  34.  <center> <textarea name=komentarz rows=5 cols=100></textarea><br>
  35. <b>Uwaga:</b> brak kultury, obrażanie innych, pisanie nic nie wnoszących lub nie związanyc
    h z danym tematem komentarzy, poruszanie spraw ze świata religii lub polityki, mo
    że się skończyć usunięciem komentarza bez ostrzeżenia lub w najgorszym wypadku za
    blokowaniem twojego konta.<br>
  36. <input type=submit value=Wyslij>  <input type=reset value=Wyczyść></td></tr></table></center>";
  37. }
  38. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.