Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    3

    Problema WHERE query mysql

    Ciao a tutti, premetto che non sono un esperto di programmazione, php e mysql.

    Ho realizzato questo script:
    <?php$con=mysqli_connect("--","--","--","--");
    // Check connection
    if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }


    $result = mysqli_query($con,"
    SELECT a.post_title, a.post_type, a.post_date, a.id, b.meta_value, b.post_id, b.meta_key
    FROM wp_posts AS a
    INNER JOIN wp_postmeta AS b ON a.id = b.post_id
    WHERE a.post_type='tribe_events' AND a.post_status='publish'
    ORDER BY a.post_date DESC
    ");


    echo "<table class=table-events>";
    while($row = mysqli_fetch_array($result)) {
    echo "<tr><td class=events>" .$row['post_title'] . "<p class=date>" . $row['meta_value'] . "</p>" . "</td></tr>";

    }
    echo "</table>";
    ?>
    Risultato:
    serata romagnola a gogo!!a:3:{i:0;a:2:{i:0;s:15:"events-calendar";i:1;i:1400239745;}i:1;a:2:{i:0;s:15:"eve nts-calendar";i:1;i:1400239761;}i:2;a:2:{i:0;s:15:"eve nts-calendar";i:1;i:1400239836;}}
    serata romagnola a gogo!!events-calendar
    serata romagnola a gogo!!1403168027:1
    serata romagnola a gogo!!2
    serata romagnola a gogo!!1
    serata romagnola a gogo!!
    serata romagnola a gogo!!2014-06-26 20:30:00
    serata romagnola a gogo!!2014-06-26 23:30:00
    serata romagnola a gogo!!10800
    serata romagnola a gogo!!1747
    serata romagnola a gogo!!€
    serata romagnola a gogo!!prefix
    serata romagnola a gogo!!35,00
    serata romagnola a gogo!!
    serata romagnola a gogo!!1746
    serata romagnola a gogo!!
    serata romagnola a gogo!!
    serata romagnola a gogo!!
    serata romagnola a gogo!!
    serata romagnola a gogo!!
    serata romagnola a gogo!!
    serata romagnola a gogo!!
    Vorrei che lo script visualizzasse una sola voce di "serata romagnola a gogo!!", precisamente quella con il valore "2014-06-26 20:30:00".

    Da quello che posso aver capito la funzione ripete tante volte "serata romagnola a gogo!!" perchè nella tabella wp_postmeta sono presenti più meta_value (35.00, 2014-06-26 20:30:00, 1746 ecc.) con lo stesso post_id, cioè l'id dell'articolo "serata romagnola a gogo!!"

    Il meta_value "2014-06-26 20:30:00" lo si può ottenere filtrando la colonna meta_key, presente nella tabella wp_postmeta (b), richiamando solo le righe con il meta_value "_EventStartDate".



    Detto ciò pensavo di aggiungere un'altra regola a WHERE tipo: b.meta_key='_EventStartDate'. Ma non so proprio come metterla giù nel mio script. Potete aiutarmi per cortesia!?

    Grazie 1.000

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Benvenuto.
    Il tuo problema non riguarda PHP, ma MySQL, quindi la sezione giusta è Database.

    Devi usare la clausola GROUP BY oppure DISTINCT a seconda del comportamento preciso che vuoi ottenere.

    Ti sposto in Database.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    3
    ok, ci sono riuscito.
    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    3
    Grazie Alhazred. Va bene lo stesso se ho aggiunto AND b.meta_key='_EventStartDate' a WHERE? A video sembra tutto ok!

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.