Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Warunkowy insert
Forum PHP.pl > Forum > Przedszkole
buliyo
Hej mam do was takie oto pytanko..
Proboje uniknac sytuacji w ktorej refresh strony dodaje mi ponownie wpis do bazy w zwiazku z tym wymyslilem sobie cos takiego ze potrzebowalbym sprawdzenia czy w zzz, w kolumnie xxx znajduje sie juz wartosc bbb jesli tak to nic sie nie dzieje, jesli nie to wykonuje inserta.. tylko jak sprawic aby kolumna byla przeszukana i czy nie spelnia danego kryterium?
peter13135
select * from x where a='$a' and b='$b'
buliyo
No ale jak sprawdzic wynik zwracany przez takie zapytanie? Cos takiego?
  1. <?php
  2. $spr=mysql_query(select * from zzz where xxx='$bbb' );
  3. if ($nr=$spr)
  4. {echo 'podany rekord juz zostal dodany!';}
  5. else
  6. {$sql=mysql_query("INSERT INTO zzz SET xxx='$nr''");};
  7. ?>


Poprosze o ew. poprawki
dr_bonzo
Eh, qwa, robi sie to inaczej:

  1. <?php
  2. header( "Locatio: /info_ze_dane_zostaly_juz_dodane.php" );
  3. ?>
buliyo
takie wyrywki jedno linijkowe to za duzo mi nie tlumacza..
dr_bonzo
wysylasz formularz na form.php,
dodajesz tam rekord itp
i robisz to przekierowanie (ten moj kod)
przeniesie cie napodany tam adres
wcisnienie F5/refresh NIE spowoduju PROBY dodania znowu tego rekordu (przeciez juz jestes na innym adresie) - i po problemie


teraz jasniej? smile.gif
buliyo
Nie mogę tak zrobić niestety ponieważ mam na 2 etapach te dane przekazywane..
najpierw jest widok podglądowy, a następnie po zatwierdzeniu go wyświetla się widok do druku w osobnym oknie i tylko na tym etapie dopiero mogą być dodane wpisy do bazy, dane do ostatniego etapu przekazuję w sesji więc w tym wypadku najlepszym rozwiązaniem będzie chyba coś takiego co napisałem w 2 poście moim chyba.. tylko jak by to jeszcze działało..
peter13135
$sql= select....
$num_res=mysql_num_results($sql);
if($num_res>0)
podany rekord istnieje
else
indert into...
Cienki1980
Zastanów się czy nie możesz nadać tej kolumnie UNIQUE. Wtedy drugi wpis do tej tabeli gdzie kolumna xxx będzie miała wartość zzz się nie doda, baza zwróci błąd.
buliyo
w zasadzie to nie glupie rozwiazanie!
myslalem przez chwile o tym ale wypadlo mi z glowy bo potraktowalem to jak id a ja potrzebuje w tej kolumnie dane o okreslonej formie..
dzieki za sugestie! smile.gif
batman
A ja będę ten niedobry i powiem, że było milion razy.
Zamykam.
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.