[PHP]RISOLTO: Trasformare righe in colonne assegnando singole variabili

  • Creatore Discussione Creatore Discussione fabryx
  • Data di inizio Data di inizio

fabryx

Nuovo Utente
9 Ott 2016
38
2
8
Eccomi di nuovo qua dopo una notte insonne
Dunque ho questa tabella mysql
db.jpg

e vorrei assegnare una variabile ad ognuno dei valori nella colonna 'field_value' sono riuscito a stampare i valori con questo codice:

PHP:
$breq_data_sql = 'SELECT * FROM wp924_cf7dbplugin_submits WHERE submit_time = 1476904588.9813 ORDER BY field_order ASC';
    $breq_data_query = mysql_query($breq_data_sql) or die (mysql_error());
    while ($breq_data_r = mysql_fetch_array($breq_data_query)){
        
        $form_name = $breq_data_r['form_name'];
        
        if ($form_name == 'Booking'){
            if ($i==15)break;
            $breq_data = $breq_data_r['field_value'];
            print $breq_data .'<br>';
            $i++;
        }
    }

che mi stampa tutti i valori corretti cosi:

stampa.jpg


ma ovviamente non riesco ad assegnare un valore ad ogni singola riga e quindi eccomi qui a chiedere il vostro aiuto
 
nessuno??? :(
ed io che pensavo la soluzione fosse semplice ma un somaro come me non potesse arrivarci! :confused:

un altra cosa per me inspiegabile e' che se inserisco in WHERE la condizione form_name = Booking lo script mi rimanda questo errore
Unknown column 'Booking' in 'where clause'
:confused:
 
va scritto così
Codice:
form_name = "Booking"

per i valori spiega meglio cosa devi fare,

le soluzioni sono moleplici
 
va scritto così
Codice:
form_name = "Booking"

per i valori spiega meglio cosa devi fare,

le soluzioni sono moleplici
purtroppo anche mettendolo fra apici non funziona :(
Ho provato anche dal pannello di amministrazione di MySQL ma mi da lo stesso identico errore con o senza apici.

Per i valori vorrei assegnare una variabile ad ogni riga stampata.
 
per l'errore mysql serve vedere l'sql e la struttura della tabella....

per l'assegnazione di una variabile farei così
PHP:
if ($form_name == 'Booking'){
            if ($i==15)break;
            $breq_data = $breq_data_r['field_value'];
"\$variabile_riga_".$i=$breq_data; //questo è solo un esempio da testare ma la sostanza è questa
            print $breq_data .'<br>';
            $i++;
        }
 
per l'errore mysql serve vedere l'sql e la struttura della tabella....

per l'assegnazione di una variabile farei così
PHP:
if ($form_name == 'Booking'){
            if ($i==15)break;
            $breq_data = $breq_data_r['field_value'];
"\$variabile_riga_".$i=$breq_data; //questo è solo un esempio da testare ma la sostanza è questa
            print $breq_data .'<br>';
            $i++;
        }
cosi tutti i valori saranno racchiusi nella stessa variabile mentre io vorrei ottenere una variabile per ogni riga che contiene valori diversi
 
cosi tutti i valori saranno racchiusi nella stessa variabile mentre io vorrei ottenere una variabile per ogni riga che contiene valori diversi
o non funziona o sono io che non capisco poi che variabile viene assegnata alle righe di valori e soprattuo come estrarle per il riutilizzo
 
Ho cambiato il titolo pensando che forse una query nidificata o un array multidimensionale (che non so sviluppare) potrebbero aiutarmi ad ottenere una singola variabile per ogni singola riga rimandata dal database.
faccio un esempio di come e' strutturata la tabella

Codice:
Colonna 1    Colonna 2
var_1            mela
var_2            pera
var_3            rosso
var_4            giallo

var_1            verde
var_2            blu
var_3            banana
var_4            bianco

var_1            nero
var_2            marrone
var_3            uovo
var_4            nome

come si nota la Colonna1 1 replica ciclicamente i valori mentre la Colonna 2 ha valori sempre differenti.
Quello che mi serve e' poter assegnare una variabile tipo

$var_1
$var_2
$var_3
$var_4


in modo da poter far diventare ogni variabile una colonna sotto la quale collocare i dati di colonna 2
in questo modo
Codice:
$var_1            $var_2            $var_3            $var_4     
mela               pera                 rosso               giallo
verde              blu                   banana            bianco
nero               marrone          uovo                nome
spero di essermi spiegato e che qualcuno possa aiutarmi.
 
è appena passato un post dove c'era giusto la soluzione
${$colonna1} = $colonna2;

Guarda alla fine ho risolto un po spartanamente con un array associativo:

PHP:
$sql = 'SELECT * FROM tabella';
$query = mysql_query($sql);
while($_r = mysql_fetch_assoc($query)){
if($_r['Colonna1'] == var_1){
            $a =$_r['Colonna2'];
        }
if($_r['Colonna1'] == var_2){
            $b =$_r['Colonna2'];
        }
if($_r['Colonna1'] == var_3){
            $c =$_r['Colonna2'];
        }
if($_r['Colonna1'] == var_4){
            $d =$_r['Colonna2'];
        }
}

Sono certo che esistono soluzioni piu eleganti e snelle (che comunque non si adatta alle mie esigenze) specialmente nel mio caso dove dovevo assegnare una variabile ad ognuna delle 20 righe di risultati ciclici .
Ma funziona e tanto mi basta ;)
....e poi esserci arrivato da solo dopo averci penato tanto.....quello non ha prezzo :cool:
 
Ultima modifica:

Discussioni simili