Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Pobranie Id z wpisu
XP'ek
post 6.08.2010, 18:25:20
Post #1





Grupa: Zarejestrowani
Postów: 263
Pomógł: 9
Dołączył: 3.05.2009
Skąd: Wroc

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


Witam więc tak mam taki skrypt jak poniżej

Co potrzebuje by pobierał id wartości wysłanej do tabeli news i przekazywał go dla wartości id_newsa jak byście to zrobili ? ja myślałem o ponownym wykonaniu zapytania na te wartości i by pokazało id ale może jest prostsze rozwiązanie



  1. <p></p>
  2. <div class="body_title">Zgłoś Newsa</div>
  3. <p></p>
  4. <div id="box">
  5. <div class="box-top"></div>
  6. <div class="box-srodek">
  7. <?
  8. if($_POST['addimg']){
  9. while(list($key,$value) = each($_FILES['images']['name']))
  10. {
  11. if(!empty($value))
  12. {
  13. $filename = $value;
  14. $filename=str_replace(" ","_",$filename);// Add _ inplace of blank space in file name, you can remove this line
  15.  
  16. $add = "uploads/news/$filename";
  17. //echo $_FILES['images']['type'][$key];
  18. // echo "<br>";
  19. copy($_FILES['images']['tmp_name'][$key], $add);
  20. chmod("$add",0777);
  21.  
  22. $zapytanie = "INSERT INTO foto VALUES ('', '$id_newsa', '$filename')";
  23. $wstaw = mysql_query($zapytanie);
  24.  
  25. }
  26. }
  27.  
  28. }
  29.  
  30.  
  31. if ($_POST['dodaj']) {
  32.  
  33.  
  34. $nazwa = trim($_POST['nazwa']);
  35. $autor = trim($_POST['autor']);
  36. $data = trim($_POST['data']);
  37. $opis = trim($_POST['opis']);
  38. $ilosc_foto = trim($_POST['ilosc_foto']);
  39.  
  40.  
  41. $zapytanie = "INSERT INTO news VALUES ('', '$nazwa', '$autor', '$data', '$opis', '$ilosc_foto')";
  42. $wstaw = mysql_query($zapytanie);
  43.  
  44. print "<p><b>Dodawanie Fotografi Nowości</b></p>
  45. <p>";
  46.  
  47. $max_no_img=$ilosc_foto; // Maximum number of images value to be set here
  48. echo "<form method=post enctype='multipart/form-data'>";
  49. echo "<table border='0' width='400' cellspacing='0' cellpadding='0' align='center'>";
  50. for($i=1; $i<=$max_no_img; $i++){
  51. echo "<tr><td>Zdjecie $i</td><td><input type=file name='images[]' class='bginput'></td></tr>";
  52. }
  53. echo'</table>';
  54.  
  55. print '</p>
  56. <div class="pagesPrzyciski" style="margin-left:120px; margin-top:10px;">
  57. <input type="submit" name="addimg" class="pages" value="Wyślij" />
  58. <input type="reset" class="pages" value="Resetuj" />
  59. <input type="button" class="pages" onclick="java script:history.back();" name="wstecz" value="Wstecz" />
  60. </div>
  61. </form>';
  62. }
  63.  
  64.  
  65. else{
  66. print '<p><b>Dodawanie Nowej Nowości</b></p>
  67. <div id="okno">
  68. <form enctype="multipart/form-data" action="add_news.html" method="POST">
  69. <p class="oknoDanePotrzebne">Podaj Potrzebne Dane:</p>
  70. <p>
  71. <table>
  72. <tr><td style="text-align:right; width:200px;" valign="top"><b>Nazwa: </b></td><td valign="top"><input type="text" name="nazwa" /></td></tr>
  73. <tr><td style="text-align:right; width:200px;" valign="top"><b>Autor: </b></td><td valign="top"><input type="text" name="autor" /></td></tr>
  74. <tr><td style="text-align:right; width:200px;" valign="top"><b>Ilość Fotek:</b></td><td valign="top"><input type="text" name="ilosc_foto" onkeyup="this.value=this.value.replace(/\D/g,'')" /></td></tr>
  75. <tr><td style="text-align:right; width:200px;" valign="top"><b>Opis: </b></td><td valign="top"><textarea name="opis"></textarea></td></tr></table>
  76.  
  77. </p>
  78. <div class="pagesPrzyciski" style="margin-left:120px; margin-top:10px;">
  79. <input type="submit" name="dodaj" class="pages" value="Wyślij" />
  80. <input type="reset" class="pages" value="Resetuj" />
  81. <input type="button" class="pages" onclick="java script:history.back();" name="wstecz" value="Wstecz" />
  82. </div><input type="hidden" name="data" value="<? print date("Y-m-d"); ?>" />
  83. </form>';
  84. }
  85. ?>
  86. </div>
  87. </div>
  88. <div class="box-dol"></div>
  89. </div>
Go to the top of the page
+Quote Post
v1t4n
post 6.08.2010, 19:50:53
Post #2





Grupa: Zarejestrowani
Postów: 111
Pomógł: 16
Dołączył: 19.02.2005
Skąd: Dębica

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


mysql_insert_id


--------------------
Psik!! A masz!! ...chamie - Porucznik Borewicz
Go to the top of the page
+Quote Post
XP'ek
post 6.08.2010, 20:34:35
Post #3





Grupa: Zarejestrowani
Postów: 263
Pomógł: 9
Dołączył: 3.05.2009
Skąd: Wroc

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


no ok mam tak przygotowane wkleiłem na samej górze gdzie zaczyna się pierwszy <? i nie działa

  1. $id_newsa = mysql_insert_id();
Go to the top of the page
+Quote Post
v1t4n
post 6.08.2010, 20:38:20
Post #4





Grupa: Zarejestrowani
Postów: 111
Pomógł: 16
Dołączył: 19.02.2005
Skąd: Dębica

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


funkcje wykonujesz po wykonaniu mysql_query() z zapytaniem ktore cie interesuje. czytaj dokladniej manuala.


--------------------
Psik!! A masz!! ...chamie - Porucznik Borewicz
Go to the top of the page
+Quote Post
XP'ek
post 6.08.2010, 20:50:28
Post #5





Grupa: Zarejestrowani
Postów: 263
Pomógł: 9
Dołączył: 3.05.2009
Skąd: Wroc

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


dałem tak ale nie przekazuje mi tylko dalej podaje do drugiej tabeli id_newsa 0
Go to the top of the page
+Quote Post
thek
post 6.08.2010, 23:05:46
Post #6





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




A pomyślałeś, że insert nie zawsze się musi powieść? Co jeśli będzie błąd? Co Ci wtedy zwróci mysql_insert_id? Kompletnie na to nie zwracasz uwagi. A to może powodować przekłamania podobnie do złego umieszczenia tej funkcji w kodzie. Debuguj, debuguj, debuguj...


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
XP'ek
post 8.08.2010, 14:53:09
Post #7





Grupa: Zarejestrowani
Postów: 263
Pomógł: 9
Dołączył: 3.05.2009
Skąd: Wroc

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


ok będę szukać usterki dzięki za radę.

nic z tego szukałem szukałem i nie mam pojęcia a jak bym wykonał zapytanie select ? i gdzie podać wartości zapisywane z 2-3 które będą po prostu wybierały i wtedy ?

prosze o pomoc bo nie wiem jak już to zrobić ;/
Go to the top of the page
+Quote Post
thek
post 8.08.2010, 15:39:31
Post #8





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Ogólnie schemat jest taki...
Robisz kod sobie i w pewnym momencie masz walnąć insert. Ok... robisz go. Sprawdzasz czy się zapytanie wykonało. Jeśli tak - robisz mysql_insert_id. Wtedy masz przechwycony id dopiero co dodanego wiersza, który możesz użyć w innym zapytaniu. To, że mysql_insert_id zwracać może głupoty wyniknąć może też z innej rzeczy... Zasięgu widoczności zmiennej. Jeśli zrobiłeś przypisanie w jakiejś zmiennej, może ona być dla tej pętli lokalną zmienną. Jeśli to kolejne zapytanie jest poza pętlą lub innym blokiem funkcjonalnym gdzie zmienna ta jest niewidoczna, to przy próbie jej wywołania nie będzie ona widoczna i skrypt walnie tam odgórnie wartość pustą, którą zależnie od kontekstu skrypt może uznać za false, 0 czy pusty string. I myślę, że to ostatnie jest u Ciebie przyczyną błędu.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
XP'ek
post 8.08.2010, 16:42:27
Post #9





Grupa: Zarejestrowani
Postów: 263
Pomógł: 9
Dołączył: 3.05.2009
Skąd: Wroc

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


tak dlatego dałem pobieranie tego id i ponawiam wysyłanie id oraz w if($_POST['addimg']) dodałem $id_newsa = $_POST['id_newsa'];
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: 14.08.2025 - 01:52