Visualizzazione dei risultati da 1 a 5 su 5

Discussione: 2 query in un while

  1. #1

    2 query in un while

    Ho questo problema:

    Codice PHP:
    /* estraggo un elenco delle macchine */
    $elenco_macchine mysql_query("SELECT * FROM macchine ORDER BY ID");
    while(
    $tutte_le_macchine mysql_fetch_array($elenco_macchine)){

    /* per ogni macchina ci sono più processi, setto una variabile che di volta in volta cambia la clause della prossima query */
    $myvar $tutte_le_macchine["nome_macchina"];

    /* la nuova query mi restituisce i processi in cui c'è la macchina in $myvar */
    $processi_macchina mysql_query("SELECT * FROM processi WHERE macchina_processo = $myvar ORDER BY ID");

    /* è quì il problema.. non riesco a leggere dal nuovo array. Invalid argument */
    $solo_processi_con_nome_macchina mysql_fetch_array($processi_macchina)
    print_r($solo_processi_con_nome_macchina
    Devo usare qualcosa di diverso da mysql_fetch_array?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Codice PHP:
    if(mysql_num_rows($solo_processi_con_nome_macchina) > 0)
    {
    $solo_processi_con_nome_macchina mysql_fetch_array($processi_macchina);
    print_r($solo_processi_con_nome_macchina);
    }
    else
    {
    // codice


    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  3. #3
    .. grazie dr watson.

    Solo che mi restituisce di nuovo errore: supplied argument is not a valid MySQL result resource.

    Il fatto di lanciare 2 query in un while, usando come parametro una colonna della prima per una condizione della seconda.. me lo sono un po' inventato, nel senso che ho provato secondo logica. Non è che non si può fare magari..?

  4. #4
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    hai ragione.. prova così

    Codice PHP:
    /* estraggo un elenco delle macchine */
    $elenco_macchine_q mysql_query("SELECT * FROM macchine ORDER BY ID");

    $elenco_macchine=array();
    while(
    $tutte_le_macchine mysql_fetch_array($elenco_macchine_q)) $elenco_macchine[]=$tutte_le_macchine;

    foreach (
    $elenco_macchine as $tutte_le_macchine){
    /* per ogni macchina ci sono più processi, setto una variabile che di volta in volta cambia la clause della prossima query */
    $myvar $tutte_le_macchine["nome_macchina"];

    /* la nuova query mi restituisce i processi in cui c'è la macchina in $myvar */
    $processi_macchina mysql_query("SELECT * FROM processi WHERE macchina_processo = $myvar ORDER BY ID");

    /* è quì il problema.. non riesco a leggere dal nuovo array. Invalid argument */
    $solo_processi_con_nome_macchina mysql_fetch_array($processi_macchina)
    print_r($solo_processi_con_nome_macchina
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  5. #5
    .. non so, non leggo nulla dal risultato della query. Forse c'è qualcosa a monte che mi inchioda.

    Come alternativa sto pensando a mettere un link che apre un popup, o una nuova window per fargli eseguire la nuova query.
    Il dato della macchina me lo porto dietro via $_GET e lo metto nella nuova query.

    Domani provo. grazie lo stesso. ciao

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.