Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP/MYSQL] Checkbox
Forum PHP.pl > Forum > Przedszkole
Roguś
Witam. Chce wyciagnac rekordy z bazy mysql, wrzucic je do checkboxa a potem wyswietlić zaznaczone. Problem w tym ze mi sie nie wyswietla i cały czas jest bladdd....
  1. <?php
  2. $x = mysql_query("SELECT name FROM baza WHERE login='$in'");
  3. echo 'wybierz bazy do testu<br><form method=GET action="test.php">';
  4. while ($row = mysql_fetch_array ($x))
  5. {
  6. echo '<input type="Checkbox" name="'.$row['name'].'" value="ok">';
  7. echo $row['name'] ;
  8. echo '<br>';
  9. }
  10.  
  11.  
  12. echo '<input type=submit value="zrob test"></form>';
  13.  
  14.  
  15. if ($_GET[$row['name']] == ok ){
  16. echo $_GET[$row['name']]; 
  17. }
  18. else { echo 'bladddddddddddd';}
  19. ?>
Cienki1980
Po pierwsze popraw temat na dający większe pojęcie o problemie zawartym w poście.

Po drugie: w miejscu gdzie sprawdzasz $_GET[] zmienna $row['nazwa'] będzie miała wartość ostatniego rekordu z bazy danych.

Żeby sprawdzić całość, sprawdzenie zawartości $_GET musisz zrobić w takiej samej pętli jak tworzenie checkboxow
Roguś
Jakoś nie moge sobie tego wyobrazić ;/ Możesz mi to zakodować ?
Cienki1980
Oto schemat:
Twój :
  1. <?php
  2. //generowanie checkboxow
  3. while(warunek od while)
  4. {
  5.  //w petli tworzysz czekboxy czyli pojawia sie ich tyle ile jest rekordow w bazie
  6. }
  7.  
  8. //odczytywanie wartosci po wyslaniu formularza
  9. if($_GET['nazwa']=='wartosc')
  10.  echo $_GET['nazwa']
  11. ?>


Moja propozycja:
  1. <?php
  2. //generowanie checkboxow
  3. while(warunek od while)
  4. {
  5.  // w petli tworzysz checkboxy czyli pojawia sie ich tyle ile jest rekordow w bazie
     
  6. }
  7.  
  8. //odczytywanie wartosci po wyslaniu formularza 
  9. while(warunek od while dokladnie taki sam jak w pierwszej petli czyli wymaga jeszcze raz zapytania do bazy)
  10. {
  11.  if($_GET[$row['nazwa']]=='wartosc')
  12.  echo $_GET[];
  13. }
  14. ?>


Lepsza wersja:
  1. <?php
  2. //odczytywanie wartosci po wyslaniu formularza
  3. foreach($_GET as $k=$v)
  4.  if($v=='wartosc')
  5. echo $k." - ".$v."<BR>";
  6. ?>

Wszystko pisane obrazowo z palca więc nie rób CTRL+C CTRL+V tylko załap pomysł. Chyba mimo tej pory jeszcze logicznie myślę i ma to ręce i nogi.
Roguś
Niestety. Nie wyswietla mi $_GET['name']

  1. <?php
  2. echo 'wybierz bazy do testu<br><form method=GET action="test.php">';
  3. while ($row = mysql_fetch_array ($x))
  4. {
  5. echo '<input type="Checkbox" name="'.$row['name'].'" value="ok">';
  6. echo $row['name'] ;
  7. echo '<br>';
  8. }
  9.  
  10.  
  11. echo '<input type=submit value="zrob test"></form>';
  12.  
  13.  
  14.  
  15. while ($row = mysql_fetch_array($x))
  16. {
  17. if ($_GET[$row['name']] == 'ok')
  18. echo $_GET['name'];
  19. }
  20. ?>
Cienki1980
Pisałem, żebyś bezmyślnie nie kopiował, tylko przeczytał dokładnie co tam napisałem w tych próbkach kodu.
Sprawdź czy takie coś zadziała.
  1. <?php
  2. $x = mysql_query("SELECT name FROM baza WHERE login='$in'");
  3. echo 'wybierz bazy do testu<br><form method=GET action="test.php">';
  4. while ($row = mysql_fetch_array ($x))
  5. {
  6. echo '<input type="Checkbox" name="'.$row['name'].'" value="ok">';
  7. echo $row['name'] ;
  8. echo '<br>';
  9. }
  10.  
  11.  
  12. echo '<input type=submit value="zrob test"></form>';
  13.  
  14. foreach($_GET as $k=>$v)
  15. {
  16. if ($v == ok ){
  17. echo $v; 
  18. }
  19. else { echo 'bladddddddddddd';}
  20. }
  21. ?>

?>
[/php]
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.