Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]jak pobrac id z bazy mysql?
Forum PHP.pl > Forum > Przedszkole
pkania128
witam,
mam formularz w którym wpisuję nazwisko, mail i datę (metodą post) (plik wyslij.php)
następnie (w pliku zapisz.php) wyświetlam te dane oraz wykonuje polecenie zapisania do bazy mysql.

jest wyświetlane: twoje nazwisko twoj mail dopisałeś się data
tu wszystko gra. w samej bazie dodatkowo każdemu wpisowi przypisuje się kolejny nr ID

jak dodatkowo wyświetlić ten nr ID tak aby zobaczyć: twój nr ID twoje nazwisko twoj mail dopisałeś się data

plik zapisz.php wyglada w skrócie tak:
  1. if (!empty($_POST['nazwisko'])) {
  2. $mail = $_POST['mail'];
  3. $nazwisko = $_POST['nazwisko'];
  4. $data = $_POST['data'];
  5. $res = @mysql_query("INSERT INTO dodaj_mail (mail,nazwisko,data) VALUES (\"".$mail."\", \"".$nazwisko."\", \"".$data."\") ");
  6. }
  7.  
  8. if (!empty($_POST['mail']))
  9. {
  10. print "twoje ".$nazwisko ." twoj ".$mail ." dopisałeś się ".$data.".";
  11. }
  12. //do tego miejsca wszystko jest ok
  13.  
  14. //tutaj próbuję wyciągnąc ID z bazy mysql (niestety bez powodzenia)
  15.  
  16. $mail = $_POST['mail'];
  17. $zapytanie = mysql_query("SELECT nazwisko FROM dodaj_mail where mail = \"".$mail."\" ");
  18. $wynik = mysql_query($zapytanie);
  19. print "twój nr ID: ";echo stripslashes($wynik["id"]),"";
  20. print "twoje ".$nazwisko ." twoj ".$mail ." dopisałeś się ".$data.".";
  21.  


proszę o podpowiedzi
Pawel_W
mysql_insert_id
Niktoś
Mamy zgadywać jak nazywa się kolumna z ID w twojej bazie danych?
pkania128
kolumna id w mojej bazie nazywa sie id
Niktoś
To w zapytaniu daj:

$zapytanie = mysql_query("SELECT id,nazwisko FROM dodaj_mail where mail = \"".$mail."\" ");
Pawel_W
tak z ciekawości zapytam, masz w ogóle tą kolumnę?

bo...
  1. INSERT INTO dodaj_mail (mail,nazwisko,DATA)

sądząc po tym kodzie jej nie masz

dodatkowo,
  1. $zapytanie = mysql_query("SELECT nazwisko FROM dodaj_mail where mail = \"".$mail."\" ");
  2. $wynik = mysql_query($zapytanie);
  3. print "twój nr ID: ";echo stripslashes($wynik["id"]),"";

skąd masz mieć $wynik["id"] skoro 2 linijki wcześniej pobierasz jedynie "nazwisko"?
Niktoś
Cytat
[SQL] pobierz, plaintext

1.
INSERT INTO dodaj_mail (mail,nazwisko,DATA)

[SQL] pobierz, plaintext


sądząc po tym kodzie jej nie masz

Wcale nie musi odwoływać do kolumny id w zapytaniach insert,update ,jeśli ma właściwości tej kolumny ustawione na autoincrement i primarykey.
pianta_d
Ja robię to w taki sposób
  1. $result = mysql_query("INSERT INTO
  2. `tabela`(`pole_id`,`pole2`,`pole3,)
  3. VALUES (0,'".$_POST[pole2]."','".$_POST[pole3]."'");
  4.  
  5. $id = mysql_insert_id();
  6.  
  7. if($result) {
  8. header('Location: view.php?id='.$id.'');
  9. exit;
  10. }
  11. else echo 'Błąd nie udało się dodać nowego rekordu';
  12. }


po zapisie przekierowuje na stronę z podglądem rekordu

Pozdrawiam
pkania128
mam w bazie kolumne id (AUTO_INCREMENT i primary key)
pianta_d
Moim zdaniem nie musisz wysyłać zapytania do bazy.
Wystarczy w echo wstawić to co przesyłasz $_POST[], a dodatkowo wstawić pole $id.
Coś na kształt
  1. $result = mysql_query("INSERT INTO
  2. `tabela`(`pole_id`,`pole2`,`pole3,)
  3. VALUES (0,'".$_POST[pole2]."','".$_POST[pole3]."'");
  4.  
  5. $id = mysql_insert_id();
  6.  
  7. if($result)
  8. echo 'twój nr ID: '.$id.' nazwisko '.$_POST[pole2].' imie '.$_POST[pole2];
  9. else
  10. echo 'Błąd nie udało się dodać nowego rekordu';
  11. }


Prawie gotowe smile.gif
Przerób sobie na własne potrzeby

Pozdrawiam
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.