radio box

<html>
<head>
<title>Bongi</title>
<script type="text/javascript" src="../js/script.js"></script>
<link rel="stylesheet" type="text/css" href="../css/style_panel.css" />
</head>
<body>

   <table cellspacing='0' class="tableStd">
      <tr>
         <td colspan='12' class="logoCenter"><a href="pannellocontrollo.php"><img src='../images/logo.jpg' alt="Torna pannello di controllo" title="Torna pannello di controllo"></a></td>
</tr>
</table>
<table cellspacing='0' class="tableStd">
<tr>
<td>
CODICE RIF.
</td>
<td>
DATA INSERIMENTO
</td>
..
<td>
SI
</td>
<td>
NO
</td>
<td>
SB
</td>
</tr>     
<?php
   $mysql="";
   $mysql="    SELECT XXXXXXX  ";
  $result = mysql_query($mysql,$db) or die($QueryErrore);
while ($myrow= mysql_fetch_array($result)) {
 ?>    
<tr>
<form  action="controllo_vetrina.php"  method="POST"  name="controllo_vetrina">
<td>
<?php
   echo $myrow["codice"];
?>
</td>
<td>
<?php
   echo $myrow["data_inserimento"];
?>
</td>
..

<! INIZIO SEZIONE CON RADIO  DELLE QUALI CATTURARE IL VALORE-- >

<td>
<?php
        echo SI "<input type=\"radio\" name=\"vetrina[]\" value=\"1\">";
     ?>
</td>
<td>
<?php
        echo NO "<input type=\"radio\" name=\"vetrina[]\" value=\"2\" >";
?>
</td>
<td>
<?php
        echo Stand By"<input type=\"radio\" name=\"vetrina[]\" value=\"3\" checked>";
?>
</td>
<! FINE SEZIONE CON RADIO  DELLE QUALI CATTURARE IL VALORE -- >

</tr>

<?php
        } 
?>
<tr>

<td colspan="10" align="right">

<input type="submit" value="Salva" name="salva">

</td>
</form>
<form method="post" action="controllo_vetrina.php">
<td colspan="10" align="right">

<input type="submit" value="Annulla">

</td>
</form>
</tr>
</table>
</body>
</html>

Nel sopra riportato codice, generato dinamicamente dal risultato di una query, ho la necessità di catturare i valori di ogni RADIO in modo da poter effettuare un UPDATE nei record corrispondenti in base alla scelta fatta.

Purtroppo non ho idea di come muovermi, qualcuno può darmi una mano?

INOLTRE COME POSSO CATTURARE I VALORI SCEGLI (CHECKED) NEL RECORD INTERESSATO IN MODO DA POTER FARE IL CITATO LUPDATE .

Grazie Giovanni

inviato 8 anni fa
bonann23
X 0 X

Se usi dei radio allora l'utente potrà scegliere solo uno degli elementi elencati. Per questa ragione devi cambiare:

name=\"vetrina[]\"

in

name=\"vetrina\"

Le parentesi quadre infatti servono alle checkbox per memorizzare un insieme si caselle selezionate.

Per i radio invece, siccome ne verrà selezionato uno solo, si usa un nome senza parentesi quadre. Per recuperare il valore del radio selezionato (attributo "value" del TAG) basta usare $_GET['vetrina']. E' proprio grazie a questo $_GET['vetrina'] che puoi capire quale radio è stato selezionato. Ad esempio se gli elementi che mostri utilizzano un "ID" come chiave primaria della tabella MySQL, allora potresti usare questo ID come "value".

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Bene ho seguito il tuo consiglio ed alle mie radiobox ho assegnato il nome dell'ID; purtroppo non ho risolto il mio problema !!!

Infatti, come ho già scritto nel mio precedente topic, le radio vengono generate dinamicamente pertanto al click del tasto "SALVA",

quando mi trovo in questa situazione:

if (isset($_POST["salva"])) {

$mysql="";
$mysql=" SELECT  tinserzioni.id_inserzione, tinserzioni.idstato FROM tinserzioni WHERE tinserzioni.idstato=2";
   //echo $mysql ;
$result = mysql_query($mysql,$db) or die($QueryErrore);
  while ($myrow= mysql_fetch_array($result)) {

$mysql="";
   $mysql=" UPDATE tinserzioni SET ";
   $mysql.=" idstato =".$_POST["vetrina"].""; // questo valore è uguale all'ID del record e non riesco ad abbinarlo all' idinserzione del record
   $mysql.=" WHERE idinserzione ='".$_POST["idinserzione"]."' ";
   //echo $mysql ;
   $result1 = mysql_query($mysql,$db) or die("Errore - update inserzione");
   

   }
      } else

CODICE INVIATO NEL MIO PRECEDENTE TOPIC
}

non riesco ad abbinare l'ID del record scelto con il valore vetrina!

grazie giovanni

risposto 8 anni fa
bonann23
X 0 X

non mi è molto chiaro il problema...

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Ho una tabella (tarticoli) nella quale l'amministratore dovrà scegliere se inserire degli articoli in vetrina o meno;pertanto i record che vedrà all'apertura del form( vedi prima mail inviata) saranno solo quelli per i quali non è ancora stata fatta alcuna scelta (nel mio form radiobox STAND BY valore=3).

Quando l'amministratore avrà fatto le sue scelte, allora avrò la necessità di catturare i valori delle radiobox(vetrina) associarli all'ID dell'articolo e quindi fare un UPDATE in base alla scelta fatta.

grazie giovanni

risposto 8 anni fa
bonann23
X 0 X

MI RENDO CONTO CHE NELLA MAIL PRECEDENTE NON SONO STATO ABBASTANZA CHIARO, PROVERÒ A SPIEGARMI MEGLIO.

ATTRAVERSO UNA QUERY, CHE ATTINGE I DATI DALLA TABELLA-ARTICOLI DEL MIO DATABASE,  CREO UN FORM (VEDI MIA PRIMA MAIL) CHE MI PERMETTE DI MOSTRARE LELENCO DEI RECORD  ESTRATTI DALLA CITATA QUERY.

OGNI RECORD HA, TRA GLI ALTRI TAG, TRE RADIOBOX, AI QUALI ALLATTRIBUTO  NAME HO DATO IL VALORE DA TE SUGGERITO  NAME=\"VETRINA\" E ALL' ATTRIBUTO VALUE RISPETTIVAMENTE 1-2-3.

IL PROBLEMA È LAGGIORNAMENTO (UPDATE) DEI RECORD NELLA TABELLA DEL MIO DB.

INFATTI  QUANDO LUTENTE LAVORERA' NEL FORM CON LELENCO DEI RECORD, PRECEDENTEMENTE GENERATO, E CHECKERÀ I RADIOBOX, NATURALMENTE SOLO UNO PER OGNI RECORD, PER EFFETTUARE LE PROPRIE SCELTE E PREMERA QUINDI IL PULSANTE AGGIORNA PER AVVIARE LUPDATE, COME FARÒ PER ABBINARE LID DEL RECORD SCELTO CON IL VALORE DEL RADIOBOX CHECKATO.

GRAZIE GIOVANNI

risposto 8 anni fa
bonann23
X 0 X

Dovrai creare un array di radio button con nome nel seguente formato: vetrina[id_record]

In questo modo avrai tutti i radio nell'array $_POST[vetrina], es.: $_POST[vetrina][3], $_POST[vetrina][11], ecc.

Ti basterà fare un ciclo foreach($_POST[vetrina] as $id => $valore)

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda