[Linux-Biella] [php] Variabili e liste dinamiche

Del Vecchio Lorenzo l.delvecchio a bilug.linux.it
Mar 3 Ago 2010 18:27:35 CEST


On Tue, August 3, 2010 5:57 pm, Cristiano Deana wrote:

>> $sql="SELECT * FROM localita WHERE 1";
>
> perche' quel "WHERE"?


Phpmyadmin lo mette sempre, mi han detto che serve per passare un valore
sempre verificato.


>> $result=mysql_query($sql);
>> echo "<form method='post' action='stessa_pagina.php?c=1'>\n";
>> while ($row=mysql_fetch_row($result)){
>>   echo "<input type='text' value='$row[1]' name='$row[1]'/>\n";
>
> cos'e' quel "row[1]"? o cosa dovrebbe essere?

$row e' un array contenente tutti i campi di una singola riga della tabella.
E' il risultato del comando mysql_fetch_row($result) che essendo dentro un
ciclo while viene ripetuto per ogni riga della tabella.

> anzi, facciamo cosi':
> spiega meglio:
> struttura sql, cosa vuoi fare (scrivere il parametro che prendi DOVE e
> DOVE vuoi scriverlo), ecc. ecc.
> piu' dettagli ci sono piu' e facile aiutarti.

Ho una tabella cosi' composta:

id, valore.

L'id e' un numero intero progressivo il valore e' un nome proprio di
paese/citta'.
Questi valori vengono inseriti dall'utente ed io non li conosco.
L'utente ha pero' bisogno di modificare o cancellare tali valori qualora
ne avesse bisogno.


Per modificarli ho deciso di creare una form con input di tipo text.
La form per defoult viene visualizzata con al suo interno tutti i valori
contenuti nella tabella cosi' come sono e l'utente li puo' modificare.

Ora, io devo reinserire tutti quei valori nella tabella.
Per comodita' conviene reinserirli tutti perche' io non so quali siano
stati modificati.

Il problema sta nel fatto che la sintassi sql per fare cio' necessiti di
un valore che io non conosco poiche' variabile.

Dovrei scrivere:

UPDATE localita SET nomecitta=citta

Pero' non conosco il nome del paese inserito dall'utente.

Non riesco a trasportare quel valore con la form per il semplice fatto che
io ignoro quali paesi verranno inseriti in tabella.

Infatti io scrivo all'interno della form:

<input type="text" value="$row[1]" /*questo row 1 contiene il nome del
paese cosi' come contenuto in tabella, ora devo dare un nome al valore che
l'utente inserira' nella form e lo chiamo comunque row 1 che e' da ora il
vecchio valore, questo perche' il nome deve essere univoco quindi
scrivo:*/
 name="$row[1]"/>

Ora quel row 1 (che ad esempio vale Torino) e' il nome dato al contenuto
che l'utente vuoele inserire. $Torino ad esempio puo' contenere il valore
Chivasso.
Valore che io per richiamare dovrei invocare con $Torino.
Ma io non so quel nome so solo che si chiama $row[1] e quindi per
invocarlo dovrei scrivere qualcosa tipo $$row[1] ma non si puo'!!

E' piu' chiaro ora??

Ciao

                Lorenzo

-- 
La meraviglia e' un sentimento assolutamente tipico del filosofo. La
filosofia non ha altra origine che questa.

Abe the n00b cutting/pasting ape

Abe is the #484397 linux registered userer
Mio blog: http://www.abelascimmia.org




Maggiori informazioni sulla lista Linux