Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zapytanie złożone
Forum PHP.pl > Forum > Bazy danych
jarmiar
cześć
mam pytanie jak będzie wyglądało zapytanie, które zliczy ilosc rekordów w tabeli i jeśli będzie większa niż 1 wykona UPDATE

nie wiem jak to składniowo zapisać, proszę o jakieś przykłady ;]
Stef@n
Możo o to chodzi smile.gif
  1. <?php
  2. $zapytanie = @mysql_query("SELECT * FROM tabela"); //Zapytanie do bazy
  3. if(mysql_num_rows($zapytanie) > 0) { //mysql_num_rows($zapytanie) pobiera ilość rekordów z tego zapytania
  4. while ($rekord = @mysql_fetch_array ($pobieranie)) { // Petla i wyświetlanie rekordów
  5. echo $rekord['pole'];
  6. }
  7. } else {
  8. echo "brak danych";
  9. }
  10. ?>
kitol
Można to zrobić w jednym zapytaniu UPDATE.
Nie podałeś szczegółów więc zapytanie jest ogólne. Pewnie będziesz musiał dodać jakieś WHERE:
  1. UPDATE nazwa_tabeli
  2. SET nazwa_pola=IF((SELECT COUNT(*) FROM nazwa_tabeli)>0, nowa_wartosc, nazwa_pola)


Osobiście wolałbym jednak napisać procedurę z selectem i updeatem zamkniętym w IF:

  1. SELECT count(*) FROM nazwa tabeli INTO @var;
  2. IF (@var>0) THEN
  3. UPDATE nazwa_tabeli SET nazwa_pola = nowa_wartosc;
  4. END IF;
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.