Ciclare delle select box associate alle input box

  • Creatore Discussione Creatore Discussione Monital
  • Data di inizio Data di inizio

Monital

Utente Attivo
15 Apr 2009
778
2
18
Rieccomi :hammer:

nel mentre che cercavo qualcosa per autocompletare le mie caselle di testo, ho trovato forse qualcosa per evitare l'uso dello javascript, cioè di creare una select box seguita da un input tex dove cliccando nella select si riempe la input

ovviamene devo portarmi i dati in un altro file




allora prima di questo avevo sempre il ciclo for e solo le input text che avevo nominato con
PHP:
marcacasa$i 
//e
marcafuoricasa$k

e inviava correttamente i dati ad un altro file che verificava che tutte le caselle fossere piene etc...


ora invece

PHP:
<?php

for($i=0;$i<$rc;$i++){
echo "<SELECT NAME=\"options\"  class=\"select\" onChange=\"this.form.input$i.value=this.options[this.selectedIndex].value\">
<option>Marcatore</option>";
	$sql="SELECT * FROM $tabella WHERE dato='$datoa'  ORDER by Nome";
$fr=mysql_query($sql);

 while ($fuori = mysql_fetch_array($fr, MYSQL_ASSOC)) {

		 $res=$fuori['Nome'];
		
echo  "<option value=\"$res\">$res</option>";

}
echo "</SELECT>";

echo "<INPUT TYPE=\"text\" id=\"input$i\" name=\"marcacasa$i\"   VALUE=\"\" ONKEYUP=\"autoComplete(this,this.form.options,'value',true)\"><br>";
	 
   }


   
	
?></td>

<td height="16px"><center>
<?php
for($k=0;$k<$rf;$k++){
echo "<SELECT NAME=\"options\"  style=\"width:140px;\" class=\"select\" onChange=\"this.form.input$k.value=this.options[this.selectedIndex].value\">
<option>Marcatore</option>";

	$sql="SELECT * FROM $tabellaWHERE dato='$datob' ORDER by Nome";
$fr=mysql_query($sql);

 while ($fuori = mysql_fetch_array($fr, MYSQL_ASSOC)) {

		 $resx=$fuori['Nome'];

	
echo  "<option  value=\"$resx\">$resx</option>";

}

echo "</SELECT>";

echo" <INPUT TYPE=\"text\" id=\"input$k\" name=\"marcafuoricasa$k\"   VALUE=\"\" ONKEYUP=\"autoComplete(this,this.form.options,'value',true)\"><br>";
	
        }

        ?>

ho l'impressione che la selezine vada un pòa casaccio a volte le riempe a avolte no e quando le riempe inf ase di verificagli risulta sempre qualche casella vuota che poi non corrisponde nemmeno.

sono certo che si tratta di fare un array di $res e di $resx ma non ci sono risucito essendo dentro la select.
ed associare ad esempio $res[0] a $ di vede essere una cosa del genere

mi sta venendo qualche idea magari farò qualche altra prova

avevo pensato ad un foreach($res as $i=>$newres) ma non funge e cmq la select non mi restituisce niente

suggerimenti?
 
mmmm

allora credo di aver fatto qualcos di sbagliato nel codice preceente allora l'ho stampato e rivisto

in sostanza credo che nell'strazione dati della select ho creato un array associativo inutile, inoltre riguardandoi il codice javascript dell'imnput text ad inutito direi che è sbagliato l'ordine ed inoltre mi sa che amncava il form ma qui ho qualche dubbio

PHP:
<?php
echo "<form>";
for($i=0;$i<$rc;$i++){
echo "<INPUT TYPE=\"text\" id=\"input$i\" name=\"marcacasa$i\"   VALUE=\"\" ONKEYUP=\"autoComplete(this,this.form.options,'value',true)\">";
echo "<SELECT NAME=\"options\"  class=\"select\" onChange=\"this.form.input$i.value=this.options[this.selectedIndex].value\">
<option>Marcatore</option>";
    $sql="SELECT Nome FROM $tabella WHERE dato='$datoa'  ORDER by Nome";
$result=mysql_query($sql);
$number = mysql_numrows($result);
$z = 0;
while ($number > $z) {
$thename = mysql_result($result,$z,"Nome");
echo  "<option value=\"$thename\">$thename</option>";
$z++;
}

}
echo "</SELECT><br>";


     
   }


  echo "</form>"; 
    
?></td>

<td height="16px"><center>
<?php
echo "<form>";
for($k=0;$k<$rf;$k++){
echo" <INPUT TYPE=\"text\" id=\"input$k\" name=\"marcafuoricasa$k\"   VALUE=\"\" ONKEYUP=\"autoComplete(this,this.form.options,'value',true)\">";
echo "<SELECT NAME=\"options\"  style=\"width:140px;\" class=\"select\" onChange=\"this.form.input$k.value=this.options[this.selectedIndex].value\">
<option>Marcatore</option>";
   $sql="SELECT * FROM $tabellaWHERE dato='$datob' ORDER by Nome";
$result=mysql_query($sql);

$number = mysql_numrows($result);
$z = 0;
while ($number > $z) {
$thename2 = mysql_result($result,$z,"Nome");
echo  "<option value=\"$thename2\">$thename2</option>";
$z++;
}

echo "</SELECT><br>";


    
        }
echo "</form>";
        ?>

mi sto avvicinando però intanto ho qualche dubbio sul form perchè questo codice è in una pagina inclusa in un altra dove c'è già il tag form comuqnue sia lo scritp ora compila tutte le input text però in fase di invio
gli risulta sempre vuota una la maggior parte delle volte la prima casella

il file di verifica non l'ho toccato e prima quando inserivo manualmente nelle caselle verificava sempre correttamente quindi credo che l'errore si ancora qui e più precisamente suppongo che la scelta fatta dovrebbe legarsi alla variabile dell'input tex.

mmhmmh farò ancora qualche prova se poi qualcuno ha un idea lo ringrazio

mi scuso se a volte pare che aprlo da solo ma dao che non mi sono mai piaciuti i topic mozzati dove magari c'era anche una cosa che mi serviva, quando trovo o mi avvicino alla soluzione preferisco postare sempre anche epr presa conoscenza di chi ne avesse bisogno
 

Discussioni simili