array foreach e database

ntoflip

Utente Attivo
26 Ago 2008
50
0
0
Ho nuovamente un problema..
Sto litigando con il ciclo foreach e non ne riesco a comprendere bene il funzionamento.. Ho una tabella in un DB con campo "categoria" che ha al massimo 2 valori (categoria1 e categoria2). E vorrei ottenere un array che ha come chiavi o indici le categorie e come valori il numero di volte che le categorie compaiono nella tabella..

Ho scritto questo pezzo di codice ma non mi funziona.. cosa sbaglio :dipser:
Codice:
require_once("db_info.inc");
$categorie = array("categoria1"=>0, "categoria2"=>0);
$connessione = @new mysqli($serv, $me, $mep, $datab);
foreach ($categorie as $key => &$value) {
$qstr = "SELECT * FROM Tabella WHERE categoria ='$key'";
$result = $connessione->query($qstr);
$quante = $result->num_rows;
$value=> $quante;
}
$result->close();
$connessione->close();

foreach ($categorie as $key =>$value) {
echo $key."<br/>";
echo $value."<br/>";
}
 
Ultima modifica:

ntoflip

Utente Attivo
26 Ago 2008
50
0
0
mi rispondo da solo

Dopo essere impazzito sono riuscito a capire..
Posto il codice se può servire a qualcuno..

Codice:
<?php
require_once("db_info.inc");
$categorie = array("categoria1" => 0, "categoria2" => 0);
$connessione = @new mysqli($serv, $me, $mep, $datab);

foreach ($categorie as $key => &$value) {
$qstr = "SELECT * FROM Immagini WHERE categoria ='$key'";
$result = $connessione->query($qstr);
$quante = $result->num_rows;
$value = $quante;
$result->close();
unset($value);
}

$connessione->close();

foreach ($categorie as $key => $value) {
echo $key."<br/>";
echo $value."<br/>";
}
?>

Mancava il pezzo
Codice:
unset($value);
che pulisce il risultato, infatti mi dava per tutte le categorie lo stesso valore della prima.
 

ntoflip

Utente Attivo
26 Ago 2008
50
0
0
continuando a monologare

mi è subito sorto un altro problema.. e non so se aprire una nuova discussione o no. comunque conservando la stessa impostazione di prima, in cui ho ricavato un array con le categorie come chiavi e il numero di righe nella tabella del DB di quella categoria come valori... adesso vorrei ottenere un altro array (multidimensionale) delle righe per ciascuna categoria di un altro campo della tabella.. è difficile da spiegare..

Allora ho questa Tabella (id, categoria, campo)

Prima ho ottenuto un Array("categoria1" =>n°volte, "categoria2" =>n°volte, ..)

Adesso nello stesso blocco foreach vorrei ottenere un
Multidimensionale ("categoria1" => $campo1(c1, c2, c3..), "categoria2"..)

esiste un metodo tipo "fetch" che mi da come risultato un array contenente tutti i valori di campo quando categoria è uguale a "categoria1"?? spero si capisca..
 

ntoflip

Utente Attivo
26 Ago 2008
50
0
0
una soluzione

così sono riuscito nel mio intento anche se probabilmente esistono tecniche più idonee..

Codice:
<?php
require_once("db_info.inc");
$categorie = array("categoria1" => 0, "categoria2" => 0);
$connessione = @new mysqli($serv, $me, $mep, $datab);

foreach ($categorie as $key => &$value) {
$qstr = "SELECT * FROM Tabella WHERE categoria ='$key'";
$result = $connessione->query($qstr);
$quante = $result->num_rows;
$value = $quante;
$i= 0;
while (($row = @$result->fetch_assoc()) !== NULL) {
$multidimensionale[$key][$i] = $row['campo'];
$i++;
}
$result->close();
unset($value);
}

$connessione->close();

foreach ($categorie as $key => $value) {
echo $key."<br/>";
echo $value."<br/>";
}
echo "stop<br/>";
print_r($multidimensionale);
?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
alessandra86 [PHP] Popolamento database con form ricorsivi - problema array (foreach ) PHP 5
P Array da foreach PHP 2
S [PHP] Ciclo foreach su più array PHP 2
otto9due Questione di array.. I risultato del foreach non è quello che voglio.. PHP 4
M Ricostruire array evitando il foreach PHP 0
Monital intabellare array bidimensionale, foreach impazziti PHP 13
P Problema con array e foreach PHP 15
nim funzione array(); e chiarimenti foreach PHP 6
Monital array non riconosciuta fuori dal foreach PHP 9
borgo italia array+foreach da semplificare PHP 2
O Array e foreach PHP 4
otto9due Leggere valore da array multidimensionale a chiavi dinamiche PHP 1
M Passaggio variabili array php su un tasto jq PHP 3
M Somma inversa di Array C/C++ 2
MarcoGrazia Iterazione array PHP 5
N Passare array da php a javascript PHP 5
G Ordinare un array multidimensionale PHP 4
H Errore su array associativo PHP 1
K Array senza ripetizioni Presentati al Forum 4
A Gestione array multidimensionale PHP 6
otto9due Più chiavi in array con array_key_exists() PHP 0
M Array associativi php su 2 campi mysql PHP 10
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L Sessione e array per utenti PHP 0
R Importazione csv su mysql tramite array PHP 2
elpirata Ricavare e stampare indirizzo ip da array associativo PHP 0
P Ciclare tra array di oggetti PHP 1
R Raggruppare valori array PHP 5
S Come conoscere la posizione di numeri in un array escludendo i doppioni PHP 4
D Popolare array PHP 8
R Includere elementi array fra apici PHP 1
N Variabile di sessione è un array PHP7 PHP 3
R Scorporare array e recuperare record tabella PHP 10
A Contare gli elementi di un array PHP 13
A Importare array in mysql PHP 1
A Array di immagini Sviluppo app per Android 10
D Chiave unica in estrazione dati da array php PHP 0
D Spazio vuoto in un elemento di un array php PHP 2
S Come filtrare valori di un array PHP 4
mazman mysqli_query() mi ritorna un array vuoto anche se presente un record nella tabella PHP 13
A Non è un array e nemmeno un intero, che tipo di dato è? Javascript 1
max1974 PHP, Array Multidimensionale e Grafici PHP 22
S [PHP] Confrontare due array con valori quasi uguali PHP 2
MarcoGrazia [PHP] Unioni di due array con somma di valori PHP 6
R [PHP] Visualizzazione dati Array PHP 2
S [PHP] Eliminare doppioni array e rinumerare le posizioni PHP 2
M Importare - Manipolare Json Array Sviluppo app per Android 2
M [PHP] Problemi su inserimento array nel db PHP 7
M [PHP] Visualizzare un array partendo dal numero 1 e non 0 PHP 5

Discussioni simili