Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Zapytanie oparte na kilku warunkach
Forum PHP.pl > Forum > Przedszkole
!*!
Formularz z kilkoma polami do zmiany danych w bazie, sprawdzam czy któreś pole jest puste, jeśli tak, to żadna akcja się nie dzieje w zapytaniu, jeśli nie, zostaje wysłana zmienna...

  1. <?php
  2. if (empty($inimie)) { 
  3. $errorinimie = ""; 
  4. }else{$errorinimie = " `imie`='$inimie' "; }
  5.  
  6. if (empty($innazwisko)) { 
  7. $errorinnazwisko = ""; 
  8. }else{$errorinnazwisko = " `nazwisko`='$innazwisko' "; }
  9.  
  10. $query = mysql_query("UPDATE `user` SET $errorinimie, $errorinnazwisko WHERE login = '$login'");
  11. ?>


tylko że taki model działa gdy wypełnie kilka pól w formularzu, problemem jest przecinek w zapytaniu do bazy pomiedzy zmiennymi, jak zrobić/sprzwdzić czy z formularza chcę zmienić tylko jedno pole czy kilka, tak aby wstawić przecinek dla kilku zmiennych do zapytania w bazie?
nospor
to ci sie przyda:
http://nospor.pl/wyszukiwarka-zapytanie-za...runkow-n31.html

tylko zamiast AND dasz przecinek winksmiley.jpg
!*!
Dzięki nospor, podam też przykład dla podomnych winksmiley.jpg

  1. <?php
  2. $intablica = array();
  3.  
  4. if (!empty($inimie))
  5.  $intablica[] = "`imie`='$inimie'"; 
  6.  
  7. if (!empty($innazwisko))
  8.  $intablica[] = "`nazwisko`='$innazwisko'"; 
  9.  
  10. if (!empty($intablica)) 
  11.  $przecinek = ''.implode(', ', $intablica); 
  12. else 
  13.  $przecinek = '';
  14.  
  15. $query = mysql_query("UPDATE `user` SET $przecinek WHERE login = '$login'");
  16. ?>
nospor
taka mala poprawka:
$przecinek = '';

jesli przecinek jest pusty, to nie powinno wogole zapytanie sie wykonac
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.