Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Problem z ostatnim rekordem
Forum PHP.pl > Forum > Przedszkole
artekp999
Gdy prawidłowo wypełnię formularz dodawania wyskakuje mi wiadomość "Nowy news został dodany" a obok jest link do tego newsa lecz link jest nie prawidłowy. Pobiera o jeden rekord wczesniej.
Przykład :
News znajduje sie w www.mojastrona.pl/news=2 a link pokazuje www.mojastrona.pl/news=1
News znajduje sie w www.mojastrona.pl/news=20 a link pokazuje www.mojastrona.pl/news=19

Co mam zmienic w tym miejscu?questionmark.gif
$query = mysql_query("SELECT * FROM podstrony ORDER BY id DESC LIMIT 1");


  1. <?php
  2. $tytul = "System podstron - Dodaj";
  3. include ('gora.php');
  4. include("zabezpieczenie.php");
  5. include('polacz.php');
  6. if(isset($_POST['nazwa']))
  7. {
  8. $kategoria = strip_tags(htmlspecialchars(mysql_real_escape_string($_POST['kategoria'])));
  9. $data = date('Y-m-d-G:i:s');
  10. $autor = $_SESSION['nick'];
  11.  
  12. $query = mysql_query("SELECT * FROM podstrony ORDER BY id DESC LIMIT 1");
  13. $rekord = mysql_fetch_array($query);
  14. }
  15. else
  16. {
  17. echo '<form action="dodajp.php" method="post">
  18. <input type="hidden" name="send" value="1">
  19. <br />Tytuł:<br /><input type="text" name="nazwa" value="" /></br>
  20. Kategoria: <br /><select name="kategoria">
  21. <option>Kategoria 1</option>
  22. <option>Kategoria 2</option>
  23. <option>Kategoria 3</option>
  24. <option>Kategoria 4</option>
  25. <option>Kategoria 5</option>
  26. <option>Kategoria 6</option>
  27. <option>Kategoria 7</option>
  28. <option>Kategoria 8</option>
  29. </select>
  30. <br />
  31. Treść:<br /><textarea name="tresc" cols="50" rows="10" id="textarea" id="textarea"></textarea><br />
  32. <br />Autor: <b>'.$_SESSION['nick'].'</b> <br><input type="hidden" name="autor" value="'.$_SESSION['nick'].'" /><br />
  33. <br /><br />
  34. <input name="dodaj" type="submit" value="Dodaj">
  35. <input name="wyczysc" type="reset" value="Wyczyść">
  36. </form<br /><br />';
  37. }
  38. if((isset($_POST['dodaj'])))
  39. {
  40. if(empty($_POST["nazwa"]) || empty($_POST["kategoria"]) || empty($_POST["tresc"]) || empty($_POST["autor"]) and isset($_POST['nazwa']))
  41. {
  42. echo 'Nie wypełniono wszystkich pól<br>';
  43. echo '<a href="dodaj.php">Wróc aby poprawnie wypelnic formularz</a>';
  44. }
  45. else
  46. {
  47. $zapytanie = "INSERT INTO `podstrony` (`nazwa`, `kategoria`, `tresc`, `autor`, `data`) VALUES ('".$nazwa."', '".$kategoria."', '".$tresc."', '".$autor."', '".$data."')";
  48. $idzapytania = mysql_query($zapytanie) or die(mysql_error());
  49. }
  50. if($_POST['send'])
  51. {
  52. if(isset($idzapytania))
  53. {
  54. if($idzapytania === TRUE)
  55. {
  56. echo '<font color="green"><b>Nowy news został dodany. Link '.$adres.'/id='.$rekord[0].' </b></font><br />';
  57. echo '<a href="index.php">Wróc na stronę główną</a><br>';
  58. echo '<a href="dodaj.php">Dodaj kolejnego newsa</a>';
  59. }
  60. else
  61. {
  62. echo '<font color="red"><b>Nie udało się dodać newsa. Proszę spróbować za jakiś czas!</b></font><br />';
  63. echo '<a href="index.php">Wróc na stronę główną</a><br>';
  64. }
  65. }
  66. }
  67. }
  68. include ('stopka.php');
  69. mysql_close($connect);
  70. ?>
nospor
Czy już w szkole myśleć nie uczą?
Najpierw pobierasz ostatni rekord, potem dodajesz kolejny rekord a link tworzysz z ostatnio pobranego rekordu więc jakim cudem ma się odnosić do nowo dodanego rekordu?

Do pobrania ostatnio dodanego ID używa się
http://pl.php.net/manual/en/function.mysql-insert-id.php
artekp999
dzięki twój sposób działa

nie miałem pomysłu wiec próbowałem zrobic tym moim sposobem

Z dnia na dzień coraz bardziej poznaje php biggrin.gif
nospor
Cytat
nie miałem pomysłu wiec próbowałem zrobic tym moim sposobem
To że nie możesz otworzyć drzwi nie znaczy że bez jakiegokolwiek namysłu masz skakać na główkę z 10-tego piętra i się dziwić że się zabiłeś.... tongue.gif

Skoro już kombinowałeś to mogłeś się chociać domyśleć, że skoro masz ID ostatniego rekordu to prawdopodobnie nowo dodany będzie o jeden większy, ale już na pewno nie będzie taki sam.
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-2025 Invision Power Services, Inc.