Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] Zapytanie oparte na kilku warunkach
!*!
post
Post #1





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




to ci sie przyda:
http://nospor.pl/wyszukiwarka-zapytanie-za...runkow-n31.html

tylko zamiast AND dasz przecinek (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
!*!
post
Post #3





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Dzięki nospor, podam też przykład dla podomnych (IMG:http://forum.php.pl/style_emoticons/default/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. ?>


Ten post edytował !*! 12.08.2008, 15:15:40
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




taka mala poprawka:
$przecinek = '';

jesli przecinek jest pusty, to nie powinno wogole zapytanie sie wykonac
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.12.2025 - 17:04