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

    Ordinare risultati query

    Ciao non riesco a mettere in ordine i risultati di questi query:
    Codice PHP:
    $query =mysql_query("SELECT user1,user2,amici FROM Amicizie") or die(mysql_error());
    while(
    $rows mysql_fetch_array($query)) {
    $user1 $rows['user1'];
    $user2 $rows['user2'];
    $amici $rows['amici'];
    $sql mysql_query("SELECT * FROM Iscritti WHERE (id = $user1 AND id != $id) OR (id = $user2 AND id != $id) ORDER BY nome ASC") or die(mysql_error()); 
    I risultati vengono estratti correttamente,ma non messi in ordine...come risolvo?

  2. #2
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    come vorresti ordinarli??
    If you think your users are idiots, only idiots will use it. DropBox

  3. #3
    Ordinarli per nome...
    Antonio
    Carlo
    Mario
    Simone
    ecc.

  4. #4
    L'unica soluzione è quella di inserire tutti i nomi recuperati dalle varie select in un array a poi ordinare quest'ultimo. Il problema è che effettui una serie di select all'interno del ciclo while e solamente le singole query sono ordinate per nome.
    Metti tutto in un array ed utilizza sort()
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Grazie per la risposta...avevo provato questa soluzione
    Codice PHP:
    $query =mysql_query("SELECT user1,user2,amici FROM Amicizie") or die(mysql_error());
    while(
    $rows mysql_fetch_array($query)) {
    $user1[] = "$rows[user1]";
    $user2[] = "$rows[user2]";
    $amici[] = "$rows[amici]";
    }
    $c count($user1);
    for (
    $i 0$i $c$i++) {
    $user1 "$user1[$i]";
    $user2 "$user2[$i]";
    $amici "$amici[$i]";

    $sql mysql_query("SELECT * FROM Iscritti WHERE (id = '$user1' AND id != '$id') OR (id = '$user2' AND id != '$id') ORDER BY nome ASC") or die(mysql_error()); 
    Però mi estrae solo il primo elemento dell'array e con var_dump mi dice che l'array user1 e anche gli altri, hanno solo il primo elemento valorizzato,gli altri sono vuoti
    string(1) "1" string(0) "" string(0) ""

  6. #6
    non mi sono letto per bene tutti i particolari delle due query, ma credo che sarebbe sufficiente una query sola utilizzando una JOIN tra la tabella iscritti e amicizia.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Credo tu abbia ragione e siamo molto più elegante...
    Codice PHP:
    //estraggo tutte le amicizie
    $query =mysql_query("SELECT id,nome,cognome FROM Iscritti, Amicizie WHERE (iscritti.id = amicizie.user1 AND iscritti.id != '$id') OR (iscritti.id = amicizie.user2 AND iscritti.id != '$id')") or die(mysql_error());
    while(
    $row mysql_fetch_array($query)) { 
    Unico problema entrambe le tabelle hanno il campo id...come posso selezionare solo quello della tabella iscritti?

  8. #8
    Originariamente inviato da damy11
    Credo tu abbia ragione e siamo molto più elegante...
    Codice PHP:
    //estraggo tutte le amicizie
    $query =mysql_query("SELECT id,nome,cognome FROM Iscritti, Amicizie WHERE (iscritti.id = amicizie.user1 AND iscritti.id != '$id') OR (iscritti.id = amicizie.user2 AND iscritti.id != '$id')") or die(mysql_error());
    while(
    $row mysql_fetch_array($query)) { 
    Unico problema entrambe le tabelle hanno il campo id...come posso selezionare solo quello della tabella iscritti?
    select iscritti.id ......

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Originariamente inviato da damy11
    Unico problema entrambe le tabelle hanno il campo id...come posso selezionare solo quello della tabella iscritti?
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  10. #10
    Vero
    Grazie

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.