Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 22
  1. #11
    Utente di HTML.it
    Registrato dal
    May 2019
    Messaggi
    51
    1 SELECT id FROM app_event_book WHERE start_date='2020-08-06' AND event_id IN('90') 5 SELECT id FROM app_event_book WHERE start_date='2020-08-06' AND event_id IN('91') 0 SELECT id FROM app_event_book WHERE start_date='2020-08-06' AND event_id IN('93')

  2. #12
    Utente di HTML.it
    Registrato dal
    Jul 2020
    Messaggi
    38
    Ma scusa Desilia98
    così è ovvio che ti torna sempre e solo un record ALLA VOLTA....azz fai 3 query diverse

    la query deve essere UNA e così scritta
    SELECT COUNT(id) FROM app_event_book WHERE start_date='2020-08-06' AND event_id IN('90,91,93')


    la clausola IN deve comprendere TUTTI i valori e non in 3 query diverse

    la query deve essere eseguita 1 sola volta non 3 volte distinte
    NON devi usare il WHILE per reperire il recordset



  3. #13
    Utente di HTML.it
    Registrato dal
    May 2019
    Messaggi
    51
    Ti ringrazio per la pazienza ti posto la mia query, cosa devo cambiare?:
    codice:
    $conn1 = new mysqli($servername, $username, $password, $dbname);// Check connection
    if ($conn1->connect_error) {
      die("Connection failed: " . $conn1->connect_error);
    }
    
    
     $sql = "SELECT * FROM app_event WHERE category_id='21'";
    $result = $conn1->query($sql);
    
    
    if ($result->num_rows > 0) {
      // output data of each row
     
      while($row = $result->fetch_assoc()) {
        $idecat = $row["id"];
    
    
    $sql1="SELECT id FROM app_event_book WHERE start_date='2020-08-06' AND event_id IN('$idecat')";
    $result1 = $conn1->query($sql1);
    if ($result1=mysqli_query($conn1,$sql1))
      {
      // Return the number of rows in result set
      $rowcount=mysqli_num_rows($result1);
      echo $rowcount;
    
    
      }
    
    
    }
    } else {
      echo "";
    }

  4. #14
    Utente di HTML.it
    Registrato dal
    Jul 2020
    Messaggi
    38
    ok adesso mi è chiaro....devi cambiare tutto

    togli tutta sta cosa
    codice:
    $sql = "SELECT * FROM app_event WHERE category_id='21'";
    $result = $conn1->query($sql);
    
    
    
    
    if ($result->num_rows > 0) {
      // output data of each row
     
      while($row = $result->fetch_assoc()) {
        $idecat = $row["id"];
    
    
    
    
    $sql1="SELECT id FROM app_event_book WHERE start_date='2020-08-06' AND event_id IN('$idecat')";
    $result1 = $conn1->query($sql1);
    if ($result1=mysqli_query($conn1,$sql1))
      {
      // Return the number of rows in result set
      $rowcount=mysqli_num_rows($result1);
      echo $rowcount;
    
    
    
    
      }
    
    
    
    
    }
    } else {
      echo "";
    }
    La tabella app_event la puoi mettere in JOIN con la tabella app_event_book

    questa sarà la tua UNICA query

    SELECT count(app_event.id) AS totaleid FROM app_event
    JOIN app_event_book ON app_event_book.event_id = app_event.id
    WHERE app_event.category_id='21'

    esegui la query senza while

  5. #15
    Utente di HTML.it
    Registrato dal
    May 2019
    Messaggi
    51
    Ho provato in questo modo, ma mi da 1 come risultato,
    Codice PHP:
    $sql1 "SELECT count(app_event.id) AS totaleid FROM app_eventJOIN app_event_book ON app_event_book.event_id = app_event.idWHERE app_event.category_id='21'";
    $result1 $conn1->query($sql1);if ($result1=mysqli_query($conn1,$sql1))  {  $rowcount=mysqli_num_rows($result1);  echo $rowcount;
           } 
    ricapitolando in app_event ho la categoria 21 che è associata a 3 eventi 90, 91, 93, nella tabella app_event_book, ho i tre eventi e voglio sapere quante persone partecipano ai 3 eventi

  6. #16
    Utente di HTML.it
    Registrato dal
    Jul 2020
    Messaggi
    38
    Quote Originariamente inviata da desila98 Visualizza il messaggio
    Ho provato in questo modo, ma mi da 1 come risultato,
    Codice PHP:
    $sql1 "SELECT count(app_event.id) AS totaleid FROM app_eventJOIN app_event_book ON app_event_book.event_id = app_event.idWHERE app_event.category_id='21'";
    $result1 $conn1->query($sql1);if ($result1=mysqli_query($conn1,$sql1))  {  $rowcount=mysqli_num_rows($result1);  echo $rowcount;
           } 
    ricapitolando in app_event ho la categoria 21 che è associata a 3 eventi 90, 91, 93, nella tabella app_event_book, ho i tre eventi e voglio sapere quante persone partecipano ai 3 eventi

    dacci la struttura delle tabelle

  7. #17
    Utente di HTML.it
    Registrato dal
    Jul 2020
    Messaggi
    38
    compresi i dati ovviamente

  8. #18
    Utente di HTML.it
    Registrato dal
    May 2019
    Messaggi
    51
    CREATE TABLE IF NOT EXISTS `app_event` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `category_id` int(11) NOT NULL DEFAULT '0',


    INSERT INTO `app_event` (`id`, `category_id`) VALUES
    (90, 21),
    (91, 21),
    (93, 21);






    CREATE TABLE IF NOT EXISTS `app_event_book` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `start_date` date NOT NULL,
    `event_id` int(11) NOT NULL DEFAULT '0',

    INSERT INTO `app_event_book` (`id`, `start_date`, 'event_id') VALUES
    (10, 2020-08-06, 90),
    (11, 2020-08-06, 90),
    (12, 2020-08-06, 91);
    (16, 2020-08-06, 91),
    (20, 2020-08-06, 91),
    (22, 2020-08-06, 93);

    per la somma devo ottenere il numero totale degli id della tabella app_event_book, che in questo caso sono 6

  9. #19
    Utente di HTML.it
    Registrato dal
    Jul 2020
    Messaggi
    38
    questo quello che ti serve

    codice:
    $sql = "
    SELECT count(app_event.id) AS totaleid FROM app_event
    JOIN app_event_book ON app_event_book.event_id = app_event.id
    WHERE app_event.category_id='21'";
    $row = mysqli_fetch_array($conn1->query($sql),MYSQLI_ASSOC);
    
    
    echo $row['totaleid'];

  10. #20
    Utente di HTML.it
    Registrato dal
    Jul 2020
    Messaggi
    38
    per cui elimina tutto tranne la connection e "copia/incolla" quel che ti ho scritto

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.