Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Salvare il risultato di una query in un array

    Ciao,
    ho bisogno di fare una query su un db mysql e di salvare i risultati in un array in modo da poterli utilizzare anche al di fuori dal ciclo for della query... mi spiego:


    $db = mysql_connect("$host", "$user_db", "$pass_db");
    $res = mysql_db_query ("$nome_db", "select*from tabella where id = $id");
    $num = mysql_num_rows ($res);

    if ($num ==0)
    echo "<Font Class=\"menu\"><Div Align=\"Center\">No Records!

    ";

    for ($i=0; $i<$num; $i++)
    {

    $campo = mysql_result ($res, $i, "campo");
    $campo1 = mysql_result ($res, $i, "campo1");
    $campo2 = mysql_result ($res, $i, "campo2");
    $campo3 = mysql_result ($res, $i, "campo3");
    $campo4 = mysql_result ($res, $i, "campo4");
    $campo5 = mysql_result ($res, $i, "campo5");


    }

    Ora: come faccio a salvare tutti i record in un array in modo che poi quando io lo voglio stampare, questo mi stampa una cosa del genere:

    campo campo1 campo2 campo3 campo4 campo5
    campo campo1 campo2 campo3 campo4 campo5
    campo campo1 campo2 campo3 campo4 campo5
    campo campo1 campo2 campo3 campo4 campo5

    insomma, una riga x ogni records con tutti i campi???
    Grazie in anticipo


    JuzamDjinn

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    codice:
    $db = mysql_connect($host, $user_db, $pass_db) or die(mysql_error());
    mysql_select_db($nome_db,$db) or die(mysql_error());
    $res = mysql_query ("SELECT * FROM tabella WHERE id = $id") or die(mysql_error());
    $temp=array();
    if (mysql_num_rows($res) != 0){
    	while ($row=mysql_fetch_assoc($res))
    		$temp[]=$row;
    } else
    	echo "No Records!";
    echo "<pre>\n";
    print_r($temp);
    echo "</pre>\n";
    think simple think ringo

  3. #3
    Però me li stampa così:

    Array
    (
    [0] => Array
    (
    [campo] => valore
    [campo1] => valore1
    [campo2] => valore2
    [campo3] => valore3
    [campo4] => valore4
    [campo5] => valore5
    [campo6] => valore6
    )


    ecc .ecc.......


    )

    A me serve che mi stampi solo questo:

    valore valore1 valore2 valore3 valore4...
    valore valore1 valore2 valore3 valore4...
    valore valore1 valore2 valore3 valore4...
    valore valore1 valore2 valore3 valore4...

    per ogni record nel db

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    codice:
    $db = mysql_connect($host, $user_db, $pass_db) or die(mysql_error());
    mysql_select_db($nome_db,$db) or die(mysql_error());
    $res = mysql_query ("SELECT * FROM tabella WHERE id = $id") or die(mysql_error());
    $temp=array();
    if (mysql_num_rows($res) != 0){
    	while ($row=mysql_fetch_assoc($res))
    		$temp[]=$row;
    } else
    	echo "No Records!";
    foreach($temp as $valori){
    	foreach($valori as $valore){
    		echo $valore." ";
    	}
    	echo "
    \n";
    }
    think simple think ringo

  5. #5
    e questa funziona, grazie, ma io devo mandare questi risultati (tutti) via mail con la funzione mail()... e non riesco perchè non posso mettere il ciclo dentro la funzione mail! mi da un sacco di errori

    Ora ho stampato giusto quello che mi serve, ma come posso mandare via mail il risultato?? come posso richiamare l'array all'interno della funzione mail()???

    Grazie marketto

  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    memorizzi i risultati dentro la variabile $stringa, che poi passerai alla funzione mail...
    codice:
    $db = mysql_connect($host, $user_db, $pass_db) or die(mysql_error());
    mysql_select_db($nome_db,$db) or die(mysql_error());
    $res = mysql_query ("SELECT * FROM tabella WHERE id = $id") or die(mysql_error()); // WHERE id = $id
    $temp=array();
    if (mysql_num_rows($res) != 0){
    	while ($row=mysql_fetch_assoc($res))
    		$temp[]=$row;
    } else
    	echo "No Records!";
    $stringa="";
    foreach($temp as $valori){
    	foreach($valori as $valore){
    		$stringa.=$valore." ";
    	}
    	$stringa.="
    \n";
    }
    echo $stringa;
    think simple think ringo

  7. #7
    Grazie mille marketto! mi sei stato utilissimo!
    ciao e grazie ancora

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.