[PHP] checkbox ad ogni riga estratta dal db

giancadeejay

Utente Attivo
26 Ott 2010
224
0
16
torino
Buongiorno a tutti,
Problemino..chissa' se qualcuno riesce ad aiutarmi.
Volevo affiancare ad ogni riga estratta da tabella DB,una scelta da fare per l'utente tramite checkbox.

form.html
Codice:
<form method="post" action="cerca_disponibile.php">
<h1>ZONA:</h1>&nbsp&nbsp<input type="text" name="testo" ><br><br>
<input type="image" src="http://MIOSITO.altervista.org/registrazione_utenti/images/CERCA_DISPONIBILE.png"/>
</form>

cerca.php
Codice:
<table id="box-pieno" >

 <tr>
             
             
                <th scope="col">PIPPO</th>
               <th scope="col">CORREDO</th>
               <th scope="col">COLORE</th>
               <th scope="col">BOX</th>
               <th scope="col">DESTINO</th>
               <th scope="col">POSTO</th>
               <th scope="col">COME</th>
           
             
             
             
           
       
 </tr>
     
 
        <style>
#box-pieno
{
    background: #000000;
    border-collapse: collapse;
    font-family: "Arial Black", Gadget, sans-serif ;
    font-size: 20px;
    width: 700px;
    height:150px;
 
    text-align: center;
 


}

#box-pieno th
{
    background: #000000;
    border: 1px solid Gainsboro ;
    border-top: 4px solid #FFFFFF;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: normal;
    padding: 18px;
}

#box-pieno td
{
    border: 2px solid #A9A9A9 ;
    background: #000999;
    color: #ffffff;
    padding: 18px;
 
}

#box-pieno tbody td:hover
{
    background: Lime;
    color: #000000;
}

</style>


<body>

<center>
<h1>GOCATTOLI DISPONIBILI</h1><hr><br>


<?php
$cn = mysql_connect("localhost", "USER", "");
mysql_select_db("my_DB", $cn);
//leggi il valore che ti provine dal form
$testo=trim($_POST['testo']);
$newpage = 'http://MIOSITOaltervista.org/registrazione_utenti/giacenza_zona/form_inquiry_disponibile.php';
$wh="";
if(!empty($testo) && preg_match('/^[a-zA-Z0-9]{1,3}/',$testo)){
    $wh=" WHERE DATO24='".$testo."' ";//o se nel $_POSTO hai messo $box qui ci va $box
    //doveil nome del campo su cui fare la ricerca lo sai tu
    $sel = "SELECT* FROM disponibile $wh";
 
    $query = mysql_query($sel, $cn );
    $quanti = mysql_num_rows($query);
    if ($quanti == 0){
        echo "<h1> CODICE ZONA ERRATO!</h1>";header('Refresh: 3; url=' . $newpage);
    }else{
        while($rs=mysql_fetch_array($query)){
            //ti converrebbe mettere il nome del campo che visualizzi es al posto di $rs[2] mettere $rs['pinco']
     
            echo "<tr><td> " . $rs[5] . "</td>";
            echo "<td> " . $rs[9] . "</td>";
            echo "<td> " . $rs[29] . "</td>";
            echo "<td> " . $rs[50] . "</td>";
            echo "<td> " . $rs[27] . "</td>";
            echo "<td> " . $rs[24] . "</td>";
   
           echo "<td>" . $rs[52] . "</td></center></h1>";
       
         
     }
 
    }

}else{
    echo "<h1>NON HAI INSERITO NULLA!</h1>";header('Refresh: 3; url=' . $newpage);
}
mysql_close($cn);
?>
 <?php
mysql_connect("localhost", "USER", "");
mysql_select_db("my_DB");

$risultato = mysql_query("SELECT * FROM disponibile $wh");
$num_righe = mysql_num_rows($risultato);

echo "<h1>$num_righe</h1>" ;
?>
<br>
<a href="http://MIOSITO.altervista.org/registrazione_utenti/giacenza_zona/ordina_aggiunta/moduloinvioaggiunta.php"><img src="http://MIOSITO.altervista.org/registrazione_utenti/images/INVIA.png"></a>
<br><br><hr>
</table>

Mi estrae perfettamente le righe che chiedo al DB in tabella etc etc..
Io vorrei appunto affiancare ad ogni riga un checkbox dove l'utente seleziona,a volte anche tra 300 righe,la sua scelta e lo invia ..
Si puo' fare secondo voi e come?

Grazie in anticipo a tutti
 
Ultima modifica:

zorro

Utente Attivo
20 Ott 2014
279
15
18
ROMA
non ho letto il tuo codice, anche perchè è molto più semplice fare una cosa ex-novo che modificarne una già fatta; innanzi tutto
ho creato una tabella di prova (tabella) contenente 6 record e 4 campi (campo1, campo2, e campo3, oltre a id autoincrement) rispettivamente NOME, COGNOME e INDIRIZZO. Dopo aver letto l'intera tabella, per ogni record stampo una checkbox e parte
del record (nel mio caso solo NOME e COGNOME). Quando l'utente 'checca' un record ne ricavo l'id che successivamente verrà stampato per intero (NOME, COGNOME e INDIRIZZO). Qusto è il codice

scegli.php

PHP:
//Connessione
// nome di host
$host = ".......";
// username dell'utente in connessione
$db_user = "......";
// password dell'utente
$db_psw = "......";
// nome del database
$database = '......l';


$connessione= mysql_connect($host, $db_user, $db_psw)
or die ("Errore critico di Connessione al Database");

mysql_select_db($database)
or die("Impossibile connetters al Database");

$risultato_insert = mysql_query($query_insert);

$query = mysql_query("SELECT id, campo1, campo2 FROM tabella") or die("Errore query.<br/>" . mysql_error());

echo '<h3>Di chi vuoi sapere l\'indirizzo?</h3><br><br>';

echo '<form action="contrform.php" method="get">';
      while ($row = mysql_fetch_array($query)) {
             $id = $row['id'];
             $campo1 = $row['campo1'];
             $campo2 = $row['campo2'];

             echo '<input type="checkbox" name="scelte[]" value="'.$id.'">'.$id.'  '.$campo1.' '.$campo2.'<br>';

      }
      echo '<br><br><input type="submit" name="invia" value="Invia i dati">';
echo '</form>';   
?>


......e il programma di conrollo contrform.php

PHP:
<?php

$scelte = $_GET['scelte'];

//conto i record 'checcatti'
$ncont = count($scelte);

//Connessione
// nome di host
$host = "......";
// username dell'utente in connessione
$db_user = "......";
// password dell'utente
$db_psw = "......";
// nome del database
$database = '......l';


$connessione= mysql_connect($host, $db_user, $db_psw)
or die ("Errore critico di Connessione al Database");

mysql_select_db($database)
or die("Impossibile connetters al Database");

$risultato_insert = mysql_query($query_insert);


for ($cont=0;$cont<=$ncont;$cont++) {
     $query = mysql_query("SELECT id, campo1, campo2, campo3 FROM tabella where id = ".$scelte[$cont]);

      while ($row = mysql_fetch_array($query)) {
             $campo1 = $row['campo1'];
             $campo2 = $row['campo2'];
             $campo3 = $row['campo3'];
           
             echo $campo1.' '.$campo2.' '.$campo3.'<br>';
      }
}

?>

Io ho cercato di semplificare al massimo le cose: tu poi dovrai adattarlo alle tue esiegenze.
Comunque, se dovessi avere problemi.......chiedi pure. Spero di esserti stato d'aiuto.


Zorro
 
Ultima modifica:

zorro

Utente Attivo
20 Ott 2014
279
15
18
ROMA
Di niente, nessuno sbattimento: è solo che non amo troppo metter mano su codici atrui
spero di esserti stato d'aiuto
 

zorro

Utente Attivo
20 Ott 2014
279
15
18
ROMA
Ciao,
non capisco esattamente cosa intendi. Spiegati meglio.
Magari sarebbe utile sapere anche la struttura della tabella
 

giancadeejay

Utente Attivo
26 Ott 2010
224
0
16
torino
Quella che vedi è solo una riga di un estrazione di circa 300.
Inserendo a fianco il checkbox vorrei che se l'utente spunta ... viene copiato il record ITO E all' invio mi incollasse il contenuto copiato all'interno di un campo body della pagina sottostante
Invio.php








Codice:
<?php
  // indirizzo di chi riceve la mail è sottolineato ma nel codice non sottilineatelo
 if ((trim($_POST['name']) != "") &&(trim($_POST['object']) != "") && (trim($_POST['body']) != "")) {    //questo fa si che se i campi "oggetto" e "messaggio" sono vuoti la form non invia nessuna mail
  $to = "      \n [email protected]";
  // soggetto della mail
  $subject = "RICHIESTA  da: MIOSITO";
 
  // corpo messaggio
  $body = "DA PREPARARE:\n\n";
 
  $body .= "operatore :" . trim(stripslashes($_POST["name"])) . "\n";//ordinante
  $body .= "NuovoPER :" . trim(stripslashes($_POST["object"])) . "\n";//oggetto del messaggio
  $body .=  "". trim(stripslashes($_POST["body"])) . "\n" ; //messaggio
 
 
  // invio mail
  mail($to, $subject, $body); // SE L'INOLTRO E' ANDATO A BUON FINE...
 
Ultima modifica:

giancadeejay

Utente Attivo
26 Ott 2010
224
0
16
torino
Allora cerchero' di essere piu chiaro
estrazione.php
Codice:
<center>
<br>
<table id="box-pieno" >

 <tr>
             
             
                <th scope="col">PIPPO</th>
               <th scope="col">PLUTO</th>
               <th scope="col">COLORE</th>
               <th scope="col">BOX</th>
               <th scope="col">DESTINO</th>
               <th scope="col">ZON</th>
               <th scope="col">STATO</th>
               <th scope="col">SELEZIONA</th>
           
             
             
             
           
       
 </tr>
     
 
        <style>
#box-pieno
{
    background: #000000;
    border-collapse: collapse;
    font-family: "Arial Black", Gadget, sans-serif ;
    font-size: 20px;
    width: 700px;
    height:150px;
 
    text-align: center;
 


}

#box-pieno th
{
    background: #000000;
    border: 1px solid Gainsboro ;
    border-top: 4px solid #FFFFFF;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: normal;
    padding: 18px;
}

#box-pieno td
{
    border: 2px solid #A9A9A9 ;
    background: #000999;
    color: #ffffff;
    padding: 18px;
 
}

#box-pieno tbody td:hover
{
    background: Lime;
    color: #000000;
}

</style>


<body>

<center>
<h1>GIOCHI DISPONIBILI</h1><hr><br>


<?php
$cn = mysql_connect("host", "PIPPO", "PSW");
mysql_select_db("my_DB", $cn);
//leggi il valore che ti provine dal form
$testo=trim($_POST['testo']);
$newpage = 'http://MIOSITO/form_inquiry_disponibile.php';
$wh="";
if(!empty($testo) && preg_match('/^[a-zA-Z0-9]{1,3}/',$testo)){
    $wh=" WHERE DATO24='".$testo."' ";//o se nel $_POSTO hai messo $box qui ci va $box
    //doveil nome del campo su cui fare la ricerca lo sai tu
    $sel = "SELECT* FROM disponibile $wh";
    //var_dump($sel); LO COMMENTI
    $query = mysql_query($sel, $cn );
    $quanti = mysql_num_rows($query);
    if ($quanti == 0){
        echo "<h1> CODICE ZONA ERRATO!</h1>";header('Refresh: 3; url=' . $newpage);
    }else{
        while($rs=mysql_fetch_array($query)){
            //ti converrebbe mettere il nome del campo che visualizzi es al posto di $rs[2] mettere $rs['pinco']
     
            echo "<tr><td> " . $rs[5] . "</td>";
            echo "<td> " . $rs[9] . "</td>";
            echo "<td> " . $rs[29] . "</td>";
            echo "<td> " . $rs[50] . "</td>";
            echo "<td> " . $rs[27] . "</td>";
            echo "<td> " . $rs[24] . "</td>";
   
           echo "<td>" . $rs[52] . "</td></center></h1>";
           echo'<td><form method="post" action="moduloinvio.php">
 
  <input type="checkbox" name="COSA INSERISCO   " value="COSA INSERISCO"/>
 
  <input type="submit" value="OK"/><br/>
</form></td> ';
       
         
     }
 
    }

}else{
    echo "<h1>NON HAI INSERITO NULLA!</h1>";header('Refresh: 3; url=' . $newpage);
}
mysql_close($cn);
?>

Vorrei che l'utente "CECCANDO" mi copia il dato rosso (
echo "<td> " . $rs[29] . "</td>";
)e me lo inserisce qui:
moduloinvio.php
Codice:
<center>

<form action="invio.php" method="post" id="modulo">
 <table>
 
   <tr>
  <td><h1>operatore :</h1><br></td>
  <td><label>
  <input name="name" type="text" id="name" />
  </label></td>
  </tr>
 
 
 
  <tr>
  <td><h1>DATI :</h1><br></td>
  <td><label>
  <input name="object" type="text" id="object" />
  </label></td>
  </tr>
  <tr>
   <td><h1>AGGIUNTA:</h1><br></td>
   <td>
   <textarea name="body" cols="40" rows="10" id="body"> </textarea>
 
  </td>
  </tr>
  <tr>
  <td><label></label>
  </td>
  <td><label>


  </label></td>
  </tr>
  </table>

all'interno della textarea rossa
Come posso recuperare i dati e vederli stampati a video nella tearea rossa(<textarea name="body" cols="40" rows="10" id="body"> </textarea>)?
 
Ultima modifica:

zorro

Utente Attivo
20 Ott 2014
279
15
18
ROMA
Ciao,
sono stato un po' okkupato. Una cosa ancoraa non mi è molto chiara, perdonami: quando l'utente fa una scelta, 'checca'
un solo record alla volta o più record, e comunque la stampa deve avvenire all'interno di una textarea, giusto ??
Faccio qualche prova e ti dico
 

giancadeejay

Utente Attivo
26 Ott 2010
224
0
16
torino
Ciao,
sono stato un po' okkupato. Una cosa ancoraa non mi è molto chiara, perdonami: quando l'utente fa una scelta, 'checca'
un solo record alla volta o più record, e comunque la stampa deve avvenire all'interno di una textarea, giusto ??
Faccio qualche prova e ti dico
Ciao ... checca e riporta nella textarea solo il dato $rs9.....se puoi aiutarmi con il codice
 

zorro

Utente Attivo
20 Ott 2014
279
15
18
ROMA
Ciao,
ora provo il codice; in affetti ci sarebbero alcune cose da sistemare. Oltretutto, il mio dubbio era che le checkbox permettono di effettuare scelte multiple; se tu devi effettuare una sola scelta ti conviene usare le radiobox, che prevedono una sola scelta e inoltre sono più facili da gestire. Comunque ora faccio qualche prova, però, per fare una cosa migliore, mi occorrerebbe sapere i campi della tabella.
 

giancadeejay

Utente Attivo
26 Ott 2010
224
0
16
torino
Ciao,
ora provo il codice; in affetti ci sarebbero alcune cose da sistemare. Oltretutto, il mio dubbio era che le checkbox permettono di effettuare scelte multiple; se tu devi effettuare una sola scelta ti conviene usare le radiobox, che prevedono una sola scelta e inoltre sono più facili da gestire. Comunque ora faccio qualche prova, però, per fare una cosa migliore, mi occorrerebbe sapere i campi della tabella.
Codice:
 echo "<tr><td> " . $rs[5] . "</td>";
            echo "<td> " . $rs[9] . "</td>";
            echo "<td> " . $rs[29] . "</td>";
            echo "<td> " . $rs[50] . "</td>";
            echo "<td> " . $rs[27] . "</td>";
            echo "<td> " . $rs[24] . "</td>"
 
Discussioni simili
Autore Titolo Forum Risposte Data
S [PHP] Come mantenere selezionato checkbox dopo aver cliccato submit PHP 7
P [PHP] Controllo al checkbox privacy PHP 6
C [PHP] Checkbox in tabella PHP 7
L [PHP] CHECKBOX DA SELEZIONARE IN UNA TABELLA PHP 4
T [PHP] Checkbox E Valori Multipli In Una Colonna PHP 1
M Inserimento dati checkbox multipli in db da ajax a php PHP 1
M PHP - Checkbox - Mysql PHP 2
M [PHP] Far rimanere biffata checkbox dopo aggiornamento pagina PHP 24
ientii [PHP] Gestione CheckBox PHP 1
bubino8 [PHP] Variabile da multipla Checkbox PHP 2
E [PHP] valore checkbox PHP 1
M PHP/SQL Inserire più valori in una colonna di tipo integer - Checkbox - PHP 3
M [PHP] Checkbox e valori multipli in una colonna PHP 10
U [PHP - RISOLTO] Tabella dinamica: colonne selezionate da checkbox PHP 40
giancadeejay [PHP] INSERT into tabella tramite scelta checkbox PHP 0
Fede72 Controllare le checkbox con PHP PHP 6
L [PHP] selezionare righe di una tabella con le checkbox e cancellarle PHP 2
M [PHP] Checkbox: inserimento nel db e lettura dal db PHP 20
P [PHP] checkbox e sua memorizzazione nel db PHP 31
M form php con checkbox PHP 4
A Aiutino su PHP e MySQL [Checkbox] PHP 2
L dati da checkbox passati a script php via json jQuery 5
M visualizzazione checkbox con PHP PHP 3
N [RISOLTO] Mostrare a video le checkbox selezionate con PHP e MySQL PHP 4
P Controllo php su checkbox PHP 2
Sargon php _ checkbox mysql _ PHP 3
unkus_nob valori checkbox di form html in file php senza submit PHP 1
A Problema PHP e checkbox! PHP 10
Athene Come nascondere i dati della checkbox in php PHP 2
D query con mysql, checkbox e php PHP 8
M Leggere valori da checkbox e richiamarli in php Javascript 1
M selezione con checkbox php mysql PHP 14
T checkbox e PHP PHP 12
P [PHP] problema script con checkbox! PHP 0
W php e checkbox PHP 3
S ComboBox, radioButton, CheckBox...passagio dati FLASH-PHP!!! Flash 0
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4

Discussioni simili