Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1

    creare array da risultato query

    Buonasera a tutti
    avrei bisogno di una dritta.
    (PHP - MySql)
    In pratica ho creato un recordset con una inner join fra 2 tabelle (anagrafica e contatti).

    codice:
    SELECT  anagrafica.Nome_Azienda, anagrafica.Nazione, contatti.Cognome, contatti.Nome, contatti.Mail, anagrafica.ID_Cliente FROM anagrafica, contatti WHERE contatti.ID_Cliente=anagrafica.ID_Cliente
    Dovrei fare in modo di inserire la clausola 'where in' per estrarre solo alcuni id_cliente. Gli id_cliente vorrei inserirli in una array ricavata da un recordset (rs_valutazione).

    In effetti, tramite un modulo, seleziono un campo (categoria) dalla tabella (valutazioni), e lo invio alla pagina "ricerca.php". Nella pagina "ricerca.php" ho un recordset (rs_valutazione) che mi restituisce gli (id_cliente). Gli (id_cliente) così ottenuti vorrei inserirli in una array da utilizzare per filtrare il recordset ricavato dalla INNER JOIN

    Mammamia, è complicato anche da spiegare. Spero mi abbiate compreso...

  2. #2
    Non ho ben capito la tua proposta. In effetti io avevo pensato questo:
    La query sopra indicata contiene i campi che mi occorrono.
    Ho poi un'altra tabella che contiene le categorie e id_cliente.
    Io avevo pensato di filtrare gli id_cliente in base alle categorie scelte, inserirli in una array e completare la query join con una clausola where in...
    Io non so come mettere gli id_cliente nell'array per passarla poi alla "where in"

  3. #3
    Prova con una sub-query (se ho capito bene il tuo quesito...): http://www.html.it/pag/32153/le-subquery/

  4. #4
    sono ancora impantanato.
    Vediamo un po:
    ho creato 2 record set. Da questi prendo gli id_utente e li metto in una array in questo modo:
    codice:
    $p = 0; 
    $id = array(); 
    while($record = mysql_fetch_array($RS_posizione)) {
    $id[$p]["id_cliente"] = $record["ID_Cliente"]; 
    $p++; 
    } 
    
    
    $id[] = array(); 
    while($record = mysql_fetch_array($rs_categoria)) {
    $id[$p]["id_cliente"] = $record["ID_Cliente"]; 
    $p++; 
    }
    dopodicchè vado a creare la join con le 2 tabelle e dovrei filtrare gli id_cliente contenuti nell'array:
    codice:
    $query_rs_ricerca_relazione = "SELECT anagrafica.Nome_Azienda, anagrafica.Nazione, contatti.Cognome, contatti.Nome, contatti.Mail, anagrafica.ID_Cliente FROM anagrafica, contatti WHERE contatti.ID_Cliente = anagrafica.ID_Cliente AND contatti.ID_Cliente IN '".$id."'";
    vado a provare e mi da quest'errore:
    Notice: Array to string conversion in r2.php on line 64
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Array'' at line 1

    ...speriamo bene

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2012
    residenza
    Lima, Perù
    Messaggi
    212
    e se semplicemente fai cosi?...
    Codice PHP:
    $id = array(); 
    while(
    $record mysql_fetch_array($RS_posizione)) {
        
    $id[] = $record["ID_Cliente"]; 
    }
    while(
    $record mysql_fetch_array($rs_categoria)) {
        
    $id[] = $record["ID_Cliente"];
    }

    ...AND 
    contatti.ID_Cliente IN '".$id."'"; 
    Jamie Ynonan - Web Developer / Desarrollador Web - HTML5 - CSS3 - Javascript/jQuery - PHP/CodeIgniter/Laravel - SQL/MySQL - Wordpress
    Telelavoro / Teleworking - jamiea31[at]gmail.com - Lima - Perù - GMT -5

  6. #6
    bello, pulito, veloce ma l'errore è sempre lo stesso:


    Notice: Array to string conversion in C:\Program Files\xampp\htdocs\Zotti\r2.php on line 59
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Array'' at line 1

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2012
    residenza
    Lima, Perù
    Messaggi
    212
    hai ragione c'è un "piccolo" dettaglio... la query...

    ...AND contatti.ID_Cliente IN ($id)";
    Jamie Ynonan - Web Developer / Desarrollador Web - HTML5 - CSS3 - Javascript/jQuery - PHP/CodeIgniter/Laravel - SQL/MySQL - Wordpress
    Telelavoro / Teleworking - jamiea31[at]gmail.com - Lima - Perù - GMT -5

  8. #8
    Warning: Cannot use a scalar value as an array in C:\Program Files\xampp\htdocs\Zotti\r2.php on line 52

    Warning: Cannot use a scalar value as an array in C:\Program Files\xampp\htdocs\Zotti\r2.php on line 52

    Warning: Cannot use a scalar value as an array in C:\Program Files\xampp\htdocs\Zotti\r2.php on line 55

    Warning: Cannot use a scalar value as an array in C:\Program Files\xampp\htdocs\Zotti\r2.php on line 55

    Warning: Cannot use a scalar value as an array in C:\Program Files\xampp\htdocs\Zotti\r2.php on line 55

    Warning: Cannot use a scalar value as an array in C:\Program Files\xampp\htdocs\Zotti\r2.php on line 55

    Warning: Cannot use a scalar value as an array in C:\Program Files\xampp\htdocs\Zotti\r2.php on line 55

    Warning: Cannot use a scalar value as an array in C:\Program Files\xampp\htdocs\Zotti\r2.php on line 55

    Warning: join(): Invalid arguments passed in C:\Program Files\xampp\htdocs\Zotti\r2.php on line 75

    ora mi succede questo. MINOS88 aiutoooo


  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2012
    residenza
    Lima, Perù
    Messaggi
    212
    puoi postare il codice indicando il numero di riga?...
    Jamie Ynonan - Web Developer / Desarrollador Web - HTML5 - CSS3 - Javascript/jQuery - PHP/CodeIgniter/Laravel - SQL/MySQL - Wordpress
    Telelavoro / Teleworking - jamiea31[at]gmail.com - Lima - Perù - GMT -5

  10. #10
    questa è la riga 55
    $id[] = $record["ID_Cliente"];
    la linea 75 era una mia dimenticanza su un esperimento

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.