Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    163

    alternativa a foreach per array di query

    Ciao!ho un problema nel gestire il risultato di una query.
    per completezza,le tabelle sono strutturate cosi
    Devo creare una tabella che in alcune celle contiene semplicemente i campi del record,in altre invece ci sono script di vario tipo che usano l'array della query.spiego meglio:

    se la query fosse:
    Codice PHP:
    $queryLista="SELECT * FROM sezioni"
    la tabella sarebbe cosi:
    Codice PHP:
    if($resLista=mysql_query($queryLista))
        {
            echo 
    '<form name="formAction" method="post" action="index.php?page=gestsez&action=choose">
            <table border="0" style="width:100%; text-align:center;">
            <tr bgcolor="#ADD8E6">
            <td style="width:20px;">#</td>
            <td style="text-align:left;">Nome</td>
            <td style="width:60px;">ID</td>
            <td style="width:60px;">Elimina</td>
            <td style="width:60px;">Modifica</td>'
    ;

            
    $i=0;
            while(
    $arrayLista mysql_fetch_array($resLista))
            {
                echo 
    '<tr bgcolor="#E0FFFF">
                <td>'
    .++$i.'
                </td>
                <td style="text-align:left;">[url="index.php?page=articoli&id='
    .$arrayLista['IDsezione'].'"]'.$arrayLista['Nome'].'[/url]</td>
                <td>'
    .$arrayLista['IDsezione'].'</td>
                <td><input type="image" name="deleteAction" src="images/delete.png" value="'
    .$arrayLista['IDsezione'].'"></td>
                <td><input type="image" name="editAction" src="images/edit.png" value="'
    .$arrayLista['IDsezione'].'"></td>
                </tr>'
    ;
            }
            echo 
    '</table></form>';
            
    mysql_free_result($resLista);
        }
        else echo 
    mysql_error(); 
    e cosi tutto ok.ma se la query diventa:
    Codice PHP:
    SELECT sezioni.Nomesezioni.IDsezioneCountarticoli.IDarticolo ) AS 'Conteggio Di articoli'
    FROM sezioni
    LEFT JOIN articoli ON sezioni
    .IDsezione articoli.IDsezione
    GROUP BY sezioni
    .IDsezione
    ORDER BY sezioni
    .Nome 
    allora la tabella dev'essere per forza creata con un foreach:
    Codice PHP:
            if($r=mysql_query($q))
            {
                echo 
    '<table border="1">';
                while ((
    $a=mysql_fetch_array($r,MYSQL_NUM))!=FALSE)
                {
                    echo 
    '<tr><td></td>';
                    foreach (
    $a as $v)
                    echo 
    "<td>{$v}</td>";
                    echo 
    '</tr>';
                }
                echo 
    '</table>';
                
    mysql_free_result($r);
            } 
    Mi serve poter utilizzare la seconda query,ma mi serve anche poter creare una tabella con link e form come nel primo caso.come faccio??

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    163
    up!

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    163
    daaai nessuno che sa una cosa cosi semplice??

    up!

  4. #4
    Forse puoi usare un for(){}

    Codice PHP:
    for($c=0;$c<count($a);$c++){ 
    echo 
    "<td>{".$a[$c]."}</td>"
    echo 
    '</tr>'
    }; 
    Nota che nel tuo script non hai messo le graffe dopo il foreach, così invia la linea:
    echo "<td>{$v}</td>";
    ad ogni ciclo, ma quella:
    echo "</tr>";
    solo una volta.
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    163
    echo "</tr>" deve essere ripetuto solo una volta,perchè la riga è una.
    grazie per la risposta,proverò!

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    163
    ho risolto da solo, il nome assegnato a al risultato di COUNT con AS diventa un normale indice dell 'array.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.