Select coloane din baza de date cu mai multe Checkbox
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
Capriciu
- Mesaje:2
Select coloane din baza de date cu mai multe Checkbox
Cod: Selectaţi tot
<form action="bd_pnl.php" method="POST">
<input type="checkbox" name="bifeaza[]" value="nume">Nume<br>
<input type="checkbox" name="bifeaza[]" value="prenume">Prenume<br>
<input type="checkbox" name="bifeaza[]" value="cnp">CNP<br>
<input type="checkbox" name="bifeaza[]" value="adresa">Adresa<br>
<input type="submit" name="submit" value="Genereaza">
</form>
Am acest formular cu checkbox-uri, nume, prenume, cnp, adresa sunt si numele coloanelor din baza de date. (bineinteles la final vreu sa fie mult mai multe checkboxuri, pentru toate coloanele din baza de date)
Doresc sa fac o filtrare a afisari continutului. Adica daca bifez casuta nume+prenume+adresa sa imi arate un tabel doar cu rezultatele de pe coloanele nume, prenume si adresa.
Cod: Selectaţi tot
<?php
include 'settings.php';
$checkbox = '';
if(isset($_POST['bifeaza'])) {
$nrc = count($_POST['bifeaza']);
for($i = 0; $i < $nrc; $i++) {
$checkbox .= "," .$_POST['bifeaza'][$i];
}
}
echo $checkbox;
$cerereSQL = "SELECT $checkbox FROM `$table2`";
$rezultat = mysql_query($cerereSQL);
if(mysql_num_rows($rezultat) > 0) {
$tabel_html = '<table border="1" height="400">';
while($rand = mysql_fetch_array($rezultat)) {
$tabel_html .= '<tr><td>' .$rand['nume']. '</td><td>'
.$rand['prenume']. '</td><td>'
.$rand['cnp']. '</td><td>'
.$rand['adresa']. '</td></tr>';
}
$tabel_html .= '</table>';
}
echo $tabel_html;
Cum pot sa dau SELECT la o variabila ?
Sau daca nu o alta idee
Multumesc.
steell
Mesaje:190
Inlocuieste in formular nume, email, parola si ip cu numele coloanelor din tabelul tau mysql, iar mai jos in interogarea inlocuieste users cu numele tabelului tau. Eu ca sa testez am folosit un tabel oarecare din baza mea de date si de aceea am schimbat denumirile.
Singurul lucru pe care nu stiu cum sa il fac este sa scap de acele if-uri de jos (ultimele 4). Cate optiuni adaug in formular atatea if-uri trebuie sa am, deci daca vreau sa am 100 de optiuni in formular va trebui sa am 100 de if-uri si nu imi place algoritmul asta. oricum pentru un formular mic nu-i nicio problema daca adaug 10-15 if-uri. Daca vrei sa mai stergi din optiunile din formular sau sa mai adaugi trebuie sa modifici si numarul de if-uri insa sa respecti acea ordine. Sper ca te prinzi cum vine.
Cod: Selectaţi tot
<form action="" method="post">
<input type="checkbox" name="bifeaza[]" value="`nume`">Nume<br>
<input type="checkbox" name="bifeaza[]" value="`email`">email<br>
<input type="checkbox" name="bifeaza[]" value="`parola`">parola<br>
<input type="checkbox" name="bifeaza[]" value="`ip`">ip<br>
<input type="submit" name="submit" value="Genereaza">
</form>
<?php
if ($_POST['bifeaza'] != '') {
$cols = $_POST['bifeaza'];
$n = count($cols);
for ($x=0; $x<$n; $x++) {
if ($x==0) { $col = $col.$cols[$x]; } else {
$col = $col.', '.$cols[$x]; }
}
$sel = "SELECT ".$col." FROM `users`";
$q = mysql_query($sel);
while ($row = mysql_fetch_row($q)) {
if ($n == 1) { echo $row[0].'<br />'; }
if ($n == 2) { echo $row[0].' '.$row[1].'<br />'; }
if ($n == 3) { echo $row[0].' '.$row[1].' '.$row[2].'<br />'; }
if ($n == 4) { echo $row[0].' '.$row[1].' '.$row[2].' '.$row[3].'<br />'; }
}
}
?>
MarPlo
Mesaje:4343
Salut
Fiind un numar nedefinit de checkbox-uri /coloane intr-un array, atat la adaugarea in sirul Select cat si la preluarea coloanelor selectate, ajuta utilizarea functiei implode() [la preluare se alica: mysql_fetch_row()].
Incearca asa:
Cod: Selectaţi tot
$table_html = '';
if(isset($_POST['bifeaza']) && is_array($_POST['bifeaza'])) {
$table_html = '<table border="1" height="400">';
$sql = "SELECT ". implode(', ', $_POST['bifeaza']) ." FROM `$table2`";
$rezultat = mysql_query($sql);
if(mysql_num_rows($rezultat) > 0) {
while($rand = mysql_fetch_row($rezultat)) {
$table_html .= '<tr><td>'. implode('</td><td>', $rand) .'</td></tr>';
}
}
$table_html .= '</table>';
}
echo $table_html;
Subiecte similare
- Adaugare orar zilele saptamanii in baza de date
PHP - MySQL - XML
Primul mesaj
Salut
Am o baza de date cu toate locatiile
location_id | name |address |telephone | open
Si un formular prin care incarc datele in bd....
Ultimul mesaj
Treaba cu adaugare json in mysql e simpla, se rezuma la adaugarea unui sir care contine ghilimele duble.
Problema la tine e ca acele ghilimele sunt...
- Setare valori din array in select tag
JavaScript - jQuery - Ajax
Primul mesaj
Salut am un array cu orele de functionare
$data = array (
'0400' => '04:00 AM',
'0430' => '04:30 AM',
'0500' => '05:00 AM',
'0530'...
Ultimul mesaj
Testeaza urmatorul cod.
Daca ceva mai trebuie schimbat, incearca si tu sa modifici dupa cum stii, in functie de ce vrei sa obtii.
Open:...