Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    154

    Query MYSQL combinata AND e ORDER BY

    Ciao a tutti,

    ho il seugente problema la query:

    $query2 = 'SELECT * '
    . ' FROM `pubblicazioni` '
    . '
    WHERE id_pub= .$info1[1]. AND id_tipo=1 '.
    ' ORDER BY `anno` DESC';
    $result2 = mysql_query($query2, $conn);
    while ($info2 = mysql_fetch_row($result2))
    etc.etc..

    non funzione come dovrebbe riportandomi il seguente errore:
    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource

    ora mi/vi chiedo se il problema dipenda da un errata combinazione di AND e ORDER BY o vi possa essere qualche altro tipo di problema..
    provando singolarente where id_pub= e poi Order by ...
    e where id_tipo=1 e poi Order by ...
    funziona tutto....ma mi serve combinarli.

    Vi ringrazio anticipatamente
    Saluti
    gefrio

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    154
    UP!

  3. #3
    ma non capisco tutte questi punti virgolette... bòòò provala in questo modo:
    $query2="SELECT * FROM pubblicazioni WHERE id_pub='".$info1[1]."' and id_tipo=1 ORDER BY anno DESC ";

    puoi scrivere la query anche su più righe non ci fa niente,non c'e bisogno del punto tra una riga e l'altra...

    comunque secondo me non dipende dalla query, però per essere sicuri scrivi echo $query2 e vedi se le variabili php dentro $query2 vengono interpretate correttamente...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    154
    ho fatto come hai detto,

    per i puntini e le variabili sto reinterpretando un codice già scritto.

    le variabili corrispondono ma non li ordina per anno?



    saluti

    GEFRIO

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    154
    Ciao a tutti,

    $query1 = "SELECT * FROM membrixpubbl WHERE id_m='" .$_GET["id_m"]."' ";
    $result1 = mysql_query($query1, $conn);
    while($info1 = mysql_fetch_row($result1))
    {
    $query2="SELECT * FROM pubblicazioni WHERE id_pub='".$info1[1]."' and id_tipo=1 order by anno DESC";
    $result2 = mysql_query($query2, $conn);
    while ($info2 = mysql_fetch_row($result2))

    la seconda query (query2)non funziona come dovrebbe o meglio le pubblicazioni non vengono ordinate per anno come chiesto! qualcuno saprebbe dirmi il perchè?

    In attesa di risposta porgo i più cordiali saluti

    Gefrio

  6. #6
    scusa ma sei sicuro che non ordina o ordina male?? il problema potrebbe derivare dal fatto che anno è dichiarato come varchar e non come intero, per ordinarlo correttamente deve essere intero.

    ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    154
    Ciao pippuzzo80,

    non li ordina completamente qualsiasi cosa metto come anno (Year, Text, Varchar, Int..)

    il problema potrebbe derivare dal fatto che id_pub è una chiave primaria mentre id_tipo no nella tabella pubblicazioni?

    da notare che se elimino (and id_tipo=1) non li ordina cmq!!!

    bho bho bho

    grazie gefrio

  8. #8
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    che tipo di dato è 'anno'?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    154
    anno è di tipo Year in questo momento ...
    cmq qualunque metto non ordina lo stesso
    quale tipo potrei mettere?

    Gefrio

  10. #10
    Sinceramente non capisco quale possa essere il problema...

    hai provato a togliere DESC?? dovrebbe ordinarteli al contrario...

    inoltre id_anno and id_tipo fanno parte della stessa tabella?? o sono di tabelle differenti, ed in questo caso potresti postare i campi di ciascuna tabella?

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.