Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Problem z ostatnim rekordem
artekp999
post 5.04.2011, 16:32:50
Post #1





Grupa: Zarejestrowani
Postów: 118
Pomógł: 2
Dołączył: 25.02.2011

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


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. ?>
Go to the top of the page
+Quote Post
nospor
post 5.04.2011, 17:01:12
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
artekp999
post 5.04.2011, 17:19:42
Post #3





Grupa: Zarejestrowani
Postów: 118
Pomógł: 2
Dołączył: 25.02.2011

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


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
Go to the top of the page
+Quote Post
nospor
post 5.04.2011, 17:21:50
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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.


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 15.06.2025 - 09:20