- Home
- Categorie
- Coding e Sistemistica
- PHP
- Conta valori in tabella MYQSL
-
Conta valori in tabella MYQSL
Vi allego il codice.
L'obiettivo è inserire nella table la conta del numero di volte che compare il valore $row['apiario'] nella tabella "alveari".
In pratica bisogna sostituire le XX che vedete nel codice al fine di ottenere la conta.Spero di essere stato chiaro.
Potete aiutarmi ?<?php // connect to the database include('connect-db.php'); // get results from database $result = mysql_query("SELECT * FROM apiari"); $conta = mysql_query("SELECT apiario FROM alveari WHERE XX") or die(mysql_error()); // display data in table echo "<table>"; echo "<thead> <th>ID apiario</th> <th>Località Apiario</th> <th>Latitudine</th> <th>Longitudine</th> <th>Numero di alveari</th> <th></th> <th></th></thead>"; // loop through results of database query, displaying them in the table while($row = mysql_fetch_array( $result )) { // echo out the contents of each row into a table echo "<tr>"; echo '<td>' . $row['id'] . '</td>'; echo '<td>' . $row['apiario'] . '</td>'; echo '<td>' . $row['latitudine'] . '</td>'; echo '<td>' . $row['longitudine'] . '</td>'; echo '<td>' . $conta . ' </td>'; echo '<td><a href="edit.php?id=' . $row['id'] . '" class="small nice radius blue button">Modifica</a></td>'; echo '<td><a href="delete.php?id=' . $row['id'] . '">Cancella</a></td>'; echo "</tr>"; } // close table> echo "</table>"; ?>
-
Ciao marcopietro,
non ho ben capito cosa vuoi fare, potresti essere più chiaro su cosa devi ottenere alla fine? Magari usando un esempio.
-
se ho capito bene vuoi sapere il numero di righe nel database alveare??
[PHP]
$conta = mysql_query("SELECT count(apiario) as totale FROM alveari");$data = mysql_fetch_assoc($conta);
echo $data['totale'];
[/PHP]
-
Ti basta sostituire questa riga di codice:
[PHP]$conta = mysql_query("SELECT apiario FROM alveari WHERE XX")
[/PHP]
con questa:
[PHP]$conta=mysql_num_rows($result);
[/PHP]
Prova e fammi sapere il result
-
Non esattamente,
mi occorre sapere il numero di volte che nella tabella XXX mi compare il valore YYY equivalente al valore ZZZ nella tabella JJJ.Un esempio testuale:
**Tabella 1
Nome Cognome
**Mario Rossi
Luigi Rossi
Luca Bianchi**Tabella 2
Cognome Lavoro
**Rossi Impiegato
Rossi Idraulico
Bianchi Calzolaio***Nella mia tab html mi deve comparire
Cognomi Numero di volte che è idraulico
Rossi 1
Bianchi 0
Purtroppo ho due tabelle distinte per cui devo fare un riferimento incrociato. è quello che non riesco a fare: impostare una variabile che mi conti quante volte il valore presente nella riga 1 della tabella 1 compaia nella tabella 2 e poi mostrarmelo in una tabella html.
-
SELECT Cognome, Count(*) as Conta FROM tabella1 INNER JOIN tabella2 ON tabella1.cognome=tabella2.cognome WHERE lavoro='idraulico' GROUP BY Cognome
In questo modo, se non erro, dovrebbe raggruppare per cognomi (solo quelli associati a idraulico almeno una volta) quindi non ti uscirà "BIANCHI 0".
Se è essenziale per te avere quel risultato dovresti usare la HAVING per mettere la condizione sul raggruppamento.