Associare caselle di testo ad array

Monital

Utente Attivo
15 Apr 2009
778
2
18
Questa è dura

spiego brevemente

estraggo una lista di nomi daun database

PHP:
<td>
<?php
$nomi=array();
$sql = "SELECT * FROM $tabella where Provinca='$provincia'  order by Nome";
$result = mysql_query($sql);
while ($lin = mysql_fetch_array($result, MYSQL_ASSOC)) {
$nomi[]=$lin['Nome'];
}
foreach($nomias $mfc){
echo $mfc."<br>";
}
?>
</td>

ora vorrei isnerire delle caselle di teste affianco ho fatto an cosa del genere

PHP:
<td height="16px"><center>
<?php
$sql = "SELECT ID FROM $tabella where Provincia='$provincia' order by Nome";
$result = mysql_query($sql);
$number = mysql_numrows($result);
  for ($i = 0; $i<$number; $i++) {
echo "<INPUT TYPE=\"text\" NAME=\"marcaB$i\"  style=\" font-size: 8pt;color: #000000; height:16px; width:30px;\" value=\"0\"><br>";
  }
  ?>
</td>

iltutto è dentro un form

ora a prescidnere che nonr iesco a richiamare la variabile marcaB perchè non so come fare ma sopratutto come faccioa d associare la casella di testo al nome corrispondente?

nella casella di testo devo emtte dei numeri quindi ad ogni nome poi deve risultare un numero

qualcuno mi aiuta?
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Allora puoi fare una cosa del genere:
PHP:
<td height="16px">
    <center>
        <?php
        $sql = "SELECT * FROM {$tabella} where Provincia = '{$provincia}' order by Nome";
        $result = mysql_query($sql);

        while ($row = mysql_fetch_assoc($result)) {
            echo "<input type=\"text\" name=\"marcaB[{$row['ID']}]\" style=\"font-size: 8pt; color:#000000; height:16px; width:30px;\" value=\"0\" /> <br />";
        }
        ?>
    </center>
</td>
A questo punto nella pagina che processa i dati puoi scrivere:
PHP:
<?php
$marcaB = isset($_POST['marcaB']) ? $_POST['marcaB'] : array();

if (count($marcaB)) {
    foreach ($marcaB as $id => $value) {
        // $id rappresenta l'ID del record nella tabella
        // $value il valore che l'utente ha immesso
    }
}
?>
E puoi eseguire tutte le operazioni che vuoi.
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
Nella tabella da cui estrai le informazioni non è presente anche un campo ID univoco che si incrementa?

quando ho letto questo ho già festeggiato, sapevo che avevi la soluzione

sei un grande ale non mi stancherò mai di dirlo

sei che sei mi spieghi o mi rimandi dove posso capire l'uso dei simboli?

tipo

? : %

grazie ancora funziona tutto egregiamente

ps. ah ale na domanda e se per effettuare un controllo vorrei fare la somma di $_POST['marcaB'] per veere se il totale dei numeri corrisponde ad un numero totale che ho già
 
Ultima modifica:

Monital

Utente Attivo
15 Apr 2009
778
2
18
scusate ho provato as ostiuire alla casella di teso le caselle checkbox cambiando ovviamente il type però non funziona uguale comemai?

il principio dovrebbe essere lo stesso
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
Puoi farmi vedere come hai modificato lo script?
semplicemnte ho sostituito da text a checkbox
PHP:
<td height="16px">
    <center>
        <?php
        $sql = "SELECT * FROM {$tabella} where Provincia = '{$provincia}' order by Nome";
        $result = mysql_query($sql);

        while ($row = mysql_fetch_assoc($result)) {
            echo "<input type=\"checkbox\" name=\"marcaB[{$row['ID']}]\" style=\"font-size: 8pt; color:#000000; height:16px; width:30px;\" value=\"0\" /> <br />";
        }
        ?>
    </center>
</td>

non è così vero? :rolleyes:
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
ale ho risolto in altra maniera molto più seplice

usando una select multipla quindi non ti affannare se poi la sai già la risposta postala lo stesso eprlomeno se ricapita

ah mmi sono documentato su

PHP:
isset($_POST['marcaB']) ? $_POST['marcaB'] : array();

in pratica significa se postmarca esiste recupera la variabile e assegnagli l'array
più o meno
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Scrivere:
PHP:
$marcaB = isset($_POST['marcaB']) ? $_POST['marcaB'] : array();
Equivale a scrivere:
PHP:
if (isset($_POST['marcaB'])) {
    $marcaB = $_POST['marcaB'];
}
else {
    $marcaB = array();
}
In questo modo la variabile $marcaB sarà sempre un array.
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
Ritorno qua perchè la'rgomento credo sia lo stesso

dato che non ne vengo a capo con questo sistemo eprchè non riesco più a riprendere le variabili ricavate dal foreach

ho pensato di fare una cosa per aggirare il problema

allora l'utente mette un numero (ad esmpio 3) la variabile si chiama $numero

nella pagina successvia richiamo $numero e poi in un form ho fatto questo

PHP:
<?php
for($i=0;$i<$numero;$i++){
echo "<input type=\"text\" name=\"nomi$i\" size=\"20\" value=\"\" /> <br />";
        }
        ?>

ora in qeusta pagina si aprono correttaemten tante input text pari a $numero

ora se l'utente inserisce inq ueste 3

pitto
topolino
pluto

in un'altra pagina non riesco più a richiamare $nome con $nome=$_POST['nome']
ho fatto un var dump ma mi risulta vuota(NULL)

come posso fare?
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
allora credo dia ver risolto la prima fase ciclando

$marcaB=$_POST['marcaB'];

ma anche inq uesto caso il uttto funziona se resto nel ciclofor

aldifuori la variabile mi restituisce sempre valore nullo

mi sto iniziando a spazientire
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
Il campo non si deve chiamare nomi$i ma nomi[$i], perché è l'indice di un array.

giusto

però il problema mi resta perchè quando lo vado a richiamare con post per avere i valori devo sempre usare foreach e fuori dl foreach non mni fa vedere tutti gli elemnti ma solo lì'ultimo

dato che dopo aver utilizzato la variabile nel file inserisco con include un altra pagina ed a questa pagina serve $nomi come fare?
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
ti faccio due esempi

PHP:
 $rc=$_POST['rc'];
for($i=0;$i<$rc;$i++){
$marca=$_POST['marca'.$i];
echo $marca;
}

FUnziona mi stampa (nel caso ho selezionato 3 caselle) i 3 nomi

PHP:
 $rc=$_POST['rc'];
for($i=0;$i<$rc;$i++){
$marca=$_POST['marca'.$i];
}
echo $marca;

non mi stampa più le 3 ma solo l'ultimo

mentre per il foreach stessa cosa

PHP:
foreach($marca as $marprova){
echo $marprova;
}

mi stampa giusto el variabili
mentre

PHP:
foreach($marca as $marprova){
}

echo $marprova;
nla perde quindi se io dopo includo un file che deve scrivermi $marprova nel database mi scrive solo l'ultimo
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
Ripeto: questo è normale in PHP. Mi sembra ovvio che la variabile assume il valore dell'ultimo elemento. Basta che esegui il foreach nel file che includi... non vedo quale sia il problema.


cioè dici che eseguendo il foreach nel file incluso e riprende la variabile? proverò
 
Discussioni simili
Autore Titolo Forum Risposte Data
C Associare biglietti numerici ad un account numerico PHP 0
G Associare un button ad una strnga PHP 9
Domenico_Falco1 Associare una stessa funzione get a due eventi a.click con classi differenti Ajax 6
M [MySQL] Come associare stats ad ogni utente. MySQL 0
Lizzy [WordPress] Associare una pagina php ad un css WordPress 2
Punix [PHP] associare immagine ad un array PHP 4
V Associare un immagine verificando il campo input Javascript 2
P Come associare una camera all'hotel PHP 12
Emix Sottodominio da associare ad un dominio Apache 2
Monital Associare dominio .com e dominio.it Domini 2
A Associare una foto al risultato di una query PHP 13
A leggere campo db phpmyadmin ed associare il valore a campo nascosto Joomla 0
S associare l'id del listato annunci alle pagine che si creano in automatico .... PHP 1
H Associare dominio a server dedicato Domini 0
P associare un bottone per ogni riga di una tabella PHP 21
S Predefinito Come associare file pdf a un utente specifico PHP 5
M Associare un controllo AJAX Accondition ad una SQLDataSource Ajax 0
G Associare valori in tabella a variabili Flash 0
WpStyle Associare collegamenti PHP 11
A associare un evento a tanti fotogrammi Flash 1
G Associare un tasto ad incolla trasponi di Excel Windows e Software 0
A Associare una scollbar ad una picturebox Programmazione 0
M Come associare un evento ad un pulsante? Programmazione 1
M Come associare un evento ad un pulsante? HTML e CSS 0
M Come associare un evento ad un pulsante? Javascript 4
R Caselle combinate in cascata Presentati al Forum 1
F [MS Access] Creare [stringa] da caselle combinate MS Access 0
V access 2007, maschera con caselle di selezione Programmazione 4
C [Javascript] Caselle di testo interno For Javascript 2
R Script Caselle invia dati Javascript 1
A gestione molteplici caselle combinate MS Access 0
A Come collegare i valori di due caselle di una maschera MS Access 0
G Problemi caselle di input Javascript 1
filippino Posta inviata dal mio sito verso caselle GMail finisce nello spam Posta Elettronica 1
S [ACCESS]: Database e interfaccia grafica, popolare caselle dinamicamente MS Access 0
M Caselle mail (spazio casella) Hosting 1
Monital UPDATE di più campi del databse con valori immessi da caselle di testo PHP 10
A Creare una Webmail (in particolare le caselle di posta) PHP 2
G AddAttachment con caselle di spunta Classic ASP 22
S Caselle di posta sul mio sito Posta Elettronica 3
L Caselle di testo mobili Flash 0
G Sommare caselle excel contrassegnate di un elenco Windows e Software 0
A caselle combinate sincronizzate (access 2003) MS Access 0
C [php] caselle di selezione PHP 1
G Caselle di input e Firefox (sti bastardi) Flash 3
G Caselle combinate in Access MS Access 1
andbin Chiedo consiglio ... hosting solo caselle email Hosting 0
I salvare testo chat PHP 4
E Creare un testo trasparente dietro un div HTML e CSS 5
S da casella di testo a campo tabella Database 0

Discussioni simili