Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] gdy brak wyników zapytania...
Forum PHP.pl > Forum > Przedszkole
Gość_Arek
jestem laikiem jeśli chodzi o php i mysql. chodzi o to że próbuję wyszukać coś w danej tabeli i jeśli znajdę to wykonuję jedną instrukcję a jeśli nie znajdę to wykonuję inną instrukcję

na razie mam tylko taki kod:

Kod
$sprawdzanie = db_query("SELECT ilosc slowo FROM szukane_slowa WHERE slowo='$edit[keys]'");
while ($sprawdzanie2=db_fetch_array($sprawdzanie)){
db_query("INSERT INTO szukane_slowa SET ilosc='1', slowo='$edit[keys]'");
}


zakładając że powyższe zapytanie zwraca mi tylko jeden wynik, do bazy danych zostanie dodany jeden wpis. a jak zrobić żeby w przypadku braku wyników spełniających to zapytanie zostały wykonane jakieś inne instrukcje (dopisanie $edit[keys] do kolumny slowo)?
SongoQ
Sprawdzaj ilosc rekordow, ile Ci zapytanie zwrocilo, wykorzystaj instrukcje mysql_num_rows
Gość_Arek
dziękuję bardzo, zadziałało!
Gość_Arek
mam kolejny problem: jeśli jest już w bazie $edit[keys] to ilosc chcę zwiększyć o jeden. samo zwiększenie napisałem (chyba dobrze) ale nie potrafię wyciągnąć wartości z ilosc

mam coś takiego:

Kod
$sprawdzanie = db_query("SELECT ilosc slowo FROM szukane_slowa WHERE slowo='$edit[keys]'");
$sprawdzanie2 = db_num_rows($sprawdzanie);
if ($sprawdzanie2 == 0){
db_query("INSERT INTO szukane_slowa SET ilosc='1', slowo='$edit[keys]'");
} else {
// ----------tu muszę pobrać wartość z ilosc i zwiększam ją o jeden-----------
$zwiekszone += 1;
db_query("UPDATE szukane_slowa SET ilosc='$zwiekszone' WHERE slowo='$edit[keys]'");
}
SongoQ
W selekcie mozesz wyciagnac wartosc zwiekszona, tak samo mozesz zwiekszac na poziomie update.

Dla selecta
  1. SELECT pole + 1 AS ilosc
  2. FROM tabela WHERE ......


Dla update
  1. UPDATE tabela SET pole = pole + 1 WHERE ......
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.