• Home
  • Forum
  • Fare Web
  • PHP

Dividere array multidimensionale in altri array multidimensionali

  • Creatore Discussione Creatore Discussione andspi
  • Data di inizio Data di inizio 27 Mar 2013
A

andspi

Nuovo Utente
27 Mar 2013
14
0
0
  • 27 Mar 2013
  • #1
Ciao a tutti !

Premetto che sono nuovo del forum e spero di aver posato la discussione nella sessione giusta.

Il mio problema è quello di riuscire a dividere un'array multidimensionale , estratto con una query da mysql , in altri array multidimensionali in base a un criterio.

Mi spiego meglio facendo l'esempio :

Io ho questo array estratto da mysql
$risultati= mysql_query("SELECT circuito , posizione FROM $table WHERE zona LIKE '%L%' AND corsia LIKE '%5%'");

(ovviamente l'array ha più righe dove ogni riga è un record)

A questo punto io dovrei dividere il tutto in due array, diciamo $pari e $ dispari , in base che il valore posizione sia pari o dispari.

Il risultato dovrebbe essere che io mi ritrovo con due array , uno con valori dipendenti dalla posizione pari e uno con valori dipendenti dalla posizione dispari.

Spero di essere stato chiaro nella spiegazione.

Ringrazio tutti anticipatamente per l'aiuto.

Ciao
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 27 Mar 2013
  • #2
ciao
questo non è un array ma solo la query alla tabella

PHP:
$risultati= mysql_query("SELECT circuito , posizione FROM $table WHERE zona LIKE '%L%' AND corsia LIKE '%5%'");
posta come leggi i record, e un'indicazione di come vorresti la suddivisione
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 27 Mar 2013
  • #3
Ciao, io ho capito piu o meno cosi
PHP:
<?php

$risultati = mysql_query("SELECT circuito , posizione FROM $table WHERE zona LIKE '%L%' AND corsia LIKE '%5%'");

$array_pari = array();
$array_dispari = array();
$i = 0;
while ($row = mysql_fetch_assoc($risultati)) {
    // verifica se pari
    if ($row['posizione'] % 2 == 0) {
        $array_pari[$i]['posizione'] = $row['posizione'];
        $array_pari[$i]['circuito'] = $row['circuito'];
    } else {
        $array_dispari[$i]['posizione'] = $row['posizione'];
        $array_dispari[$i]['circuito'] = $row['circuito'];
    }
    $i++;
}
?>
considera cmounque che l'estensione mysql è deprecata e prima o poi verrà rimossa
 
A

andspi

Nuovo Utente
27 Mar 2013
14
0
0
  • 27 Mar 2013
  • #4
Grazie a tutti inanzi tutto per le risposte!

ho provato comi mi hai detto criric ma non riesco a stampare poi nella tabella i risultati mi da errore del server :incazz2:.

io ho fatto cosi :
PHP:
$array_pari =array();
$array_dispari=array();
$i=0;

while ($row = mysql_fetch_assoc($risultati)) {


    // verifica se pari
    if ($row['posizione'] % 2 == 0) {
        $array_pari[$i]['posizione'] = $row['posizione'];
        $array_pari[$i]['circuito'] = $row['circuito'];
    } else {
        $array_dispari[$i]['posizione'] = $row['posizione'];
        $array_dispari[$i]['circuito'] = $row['circuito'];
    }
    $i++;

	echo '<TABLE border=1>';
	echo '<tr>';
	echo '<TD>' .$array_pari['circuito'] . '</TD>';
        echo '<TD>' .$array_dispari['circuito'] . '</TD>';
	echo '</TR>';
	echo '</TABLE>';

}

Spero di non aver fatto tantissimi errori in due righe di codice .
 
Ultima modifica di un moderatore: 27 Mar 2013

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 27 Mar 2013
  • #5
è un array bidimensionale quindi non
PHP:
$array_pari['circuito']
ma
PHP:
$array_pari[$i]['circuito']

edit
la tabella inoltre è meglio se la apri prima del while e la chiudi dopo
edi edit
forse è meglio se li stampi dopo ora ti preparo un esempio
 
Ultima modifica: 27 Mar 2013

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 27 Mar 2013
  • #6
eccolo
PHP:
<?php
$array_pari = array();
$array_dispari = array();
$i = 0;

while ($row = mysql_fetch_assoc($risultati)) {
    // verifica se pari
    if ($row['posizione'] % 2 == 0) {
        $array_pari[$i]['posizione'] = $row['posizione'];
        $array_pari[$i]['circuito'] = $row['circuito'];
    } else {
        $array_dispari[$i]['posizione'] = $row['posizione'];
        $array_dispari[$i]['circuito'] = $row['circuito'];
    }
    $i++;
}
echo "<table>";
foreach ($array_pari as $value) {
    echo "<tr>";
    echo "<td>" . $value["posizione"] . "</td>";
    echo "<td>" . $value["circuito"] . "</td>";
    echo "</tr>";
}
echo "</table>";

echo "<table>";
foreach ($array_dispari as $value) {
    echo "<tr>";
    echo "<td>" . $value["posizione"] . "</td>";
    echo "<td>" . $value["circuito"] . "</td>";
    echo "</tr>";
}
echo "</table>";
?>
se dividi tra pari e dispari è inutile che poi metti tutto nella stessa tabella o forse non ho capito cosa devi fare
ovviamente non ho testato
 
A

andspi

Nuovo Utente
27 Mar 2013
14
0
0
  • 27 Mar 2013
  • #7
Grazie ancora di tutto, ma continua ad uscirmi errore del server.

A me servirebbe che alla fine avessi come risultato una tabella dove in ogni colonna ho : i circuiti con posizione dispari e nell'altra i circuiti con posizione pari.

ti posto il codice completo che ho scritto :
PHP:
<html>
<head></head>
<body>

<?php
$host="host";
$user="user";
$pas="pas";
$data="percorsi50";


$con=mysql_connect($host,$user,$pas) or die (mysql_error());

$db=mysql_select_db($data,$con);

$elim = "DROP TABLE IF EXISTS percorsi";

$ok = mysql_query($elim); 

$query = "CREATE TABLE percorsi (
zonpic text,
allpic text,
dplpic text,
nivpic text,
codpro text,
valpro text,
ds1pro text,
cirpic text,
fampro text,
libfam text,
indpro02 text,
colcou2 text,
coupal2 text,
haucol text,
lngcol text,
lrgcol text,
minniv text,
maxniv text,
pdbcol text,
pdbpal text,
volcol text,
volpal text,
spcpro text,
pcbpro text,
nbjdlv text,
secdlv text,
coecol text,
codalc text,
degalc text,
volalc text,
foupro text,
edipro text,
codmds text,
indpro03 text,
indpro04 text,
indpro05 text,
indpro06 text,
indpro08 text,
coupal text,
id int NOT NULL auto_increment,
PRIMARY KEY (id)
)";

$result = mysql_query($query); 
 

$file="c:/desktop/percorsi.CSV";
$table="percorsi";

   mysql_query("LOAD DATA LOCAL INFILE '$file' INTO TABLE $table
		FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'");

$l5=mysql_query("SELECT cirpic , dplpic FROM $table WHERE zonpic LIKE '%L%' AND allpic LIKE '%5%'");

$array_pari = array(); 
$array_dispari = array(); 
$i = 0; 

while ($row = mysql_fetch_assoc($l5)) { 
    // verifica se pari 
    if ($row['dplpic'] % 2 == 0) { 
        $array_pari[$i]['dplpic'] = $row['dplpic']; 
        $array_pari[$i]['cirpic'] = $row['cirpic']; 
    } else { 
        $array_dispari[$i]['dplpic'] = $row['dplpic']; 
        $array_dispari[$i]['cirpic'] = $row['cirpic']; 
    } 
    $i++; 
} 
echo "<table>"; 
foreach ($array_pari as $value) { 
    echo "<tr>"; 
    echo "<td>" . $value["dplpic"] . "</td>"; 
    echo "<td>" . $value["cirpic"] . "</td>"; 
    echo "</tr>"; 
} 
echo "</table>"; 

echo "<table>"; 
foreach ($array_dispari as $value) { 
    echo "<tr>"; 
    echo "<td>" . $value["dplpic"] . "</td>"; 
    echo "<td>" . $value["cirpic"] . "</td>"; 
    echo "</tr>"; 
} 
echo "</table>"; 



echo mysql_error();


mysql_close($con);
?>
Grazie ancora per il tuo aiuto.
 
Ultima modifica di un moderatore: 27 Mar 2013

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 27 Mar 2013
  • #8
ma continua ad uscirmi errore del server.
Clicca per allargare...
che errore?
ps
racchiudi il codice che posti trai i tag presenti sulla barra di formattazione ( seconda linea ultime 3 icone )
 
A

andspi

Nuovo Utente
27 Mar 2013
14
0
0
  • 27 Mar 2013
  • #9
Quando apro la pagina php con il browser mi da errore server : si è verificato un errore nel soddisfare la tua richiesta
 
A

andspi

Nuovo Utente
27 Mar 2013
14
0
0
  • 28 Mar 2013
  • #10
Ho risolto dando la condizione : where , nella query mysql .
Grazie a tutti per il vostro aiuto e contributo , alla prossima.
 
Devi accedere o registrarti per poter rispondere.

Discussioni simili

T
Dividere un'immagine in 3 parti orizzontali e salvarle separatamente
  • Torredipisa
  • 21 Dic 2022
  • Photoshop
Risposte
2
Visite
2K
Photoshop 22 Dic 2022
Torredipisa
T
[XAMPP] Server in Locale condividere database
  • socket32
  • 10 Mar 2021
  • MySQL
Risposte
0
Visite
2K
MySQL 10 Mar 2021
socket32
  • Bloccata
Come posso dividere le grandi dimensioni del file PST?
  • camilia
  • 19 Ott 2019
  • Windows e Software
Risposte
2
Visite
2K
Windows e Software 20 Ott 2019
Max 1
G
Condividere 1 cartella in rete due computer windows 10
  • Giovannino60
  • 12 Lug 2019
  • Reti LAN e Wireless
Risposte
0
Visite
1K
Reti LAN e Wireless 12 Lug 2019
Giovannino60
G
M
Condividere su FB con redirect
  • Marcolino92
  • 12 Mar 2019
  • Social Media Marketing
Risposte
1
Visite
1K
Social Media Marketing 7 Apr 2019
Marcolino92
M
[PHP] Dividere un campo di testo in più campi
  • gandalf1959
  • 24 Mag 2018
  • PHP
Risposte
9
Visite
3K
PHP 15 Giu 2018
zorro
P
[HTML] [PHP] dividere lo schermo in tre colonne
  • paperinik4
  • 1 Lug 2016
  • HTML e CSS
  • 4 5 6
Risposte
110
Visite
16K
HTML e CSS 15 Lug 2016
paperinik4
P
L
[WordPress] Dividere articoli in più pagine, problemi SEO?
  • Lenigmista
  • 21 Nov 2015
  • WordPress
Risposte
2
Visite
2K
WordPress 6 Mag 2016
Lenigmista
L
C
Condividere gli hard disk tra due sistemi operativi diversi (windows 7 e 8)
  • criccroc
  • 11 Mag 2015
  • Reti LAN e Wireless
Risposte
6
Visite
6K
Reti LAN e Wireless 28 Mag 2015
Pieroz
P
M
Dividere immagine a metà in diagonale
  • m.pittini
  • 23 Set 2014
  • Photoshop
Risposte
1
Visite
13K
Photoshop 23 Set 2014
filomeni
M
Dividere risultati in colonna in base al contenuto
  • Madera
  • 22 Lug 2014
  • PHP
Risposte
9
Visite
3K
PHP 8 Ago 2014
Madera
M
dividere risultati in pagine MySqli
  • alankanz
  • 30 Giu 2014
  • PHP
Risposte
4
Visite
2K
PHP 30 Giu 2014
alankanz
Z
Dividere settimane
  • z.cristiano
  • 23 Giu 2014
  • PHP
Risposte
3
Visite
1K
PHP 23 Giu 2014
criric
Suddividere risultati MySqli
  • alankanz
  • 18 Giu 2014
  • PHP
Risposte
0
Visite
2K
PHP 18 Giu 2014
alankanz
M
Dividere su piu pagine un articolo lungo prelevato da db.
  • migo80
  • 3 Apr 2014
  • jQuery
Risposte
0
Visite
1K
jQuery 3 Apr 2014
migo80
M
S
Condividere correttamente link su Facebook (immagine anteprima errata)
  • stefaniato
  • 1 Apr 2014
  • HTML e CSS
Risposte
1
Visite
4K
HTML e CSS 1 Apr 2014
Topastro
T
D
OneDrive: scegliere quali files condividere tra i vari dispositivi, e condividerli con altri utenti
  • davide.samba
  • 24 Mar 2014
  • Windows e Software
Risposte
0
Visite
2K
Windows e Software 24 Mar 2014
davide.samba
D
P
  • Bloccata
Dividere lo schermo in tre colonne
  • paperinik4
  • 1 Feb 2014
  • HTML e CSS
Risposte
1
Visite
2K
HTML e CSS 2 Feb 2014
paperinik4
P
L
Dividere risultati per data e pagine diverse
  • _LAIL_
  • 25 Nov 2013
  • PHP
Risposte
17
Visite
3K
PHP 29 Nov 2013
borgo italia
G
Dividere stringa ed eseguire query
  • Giovanni D'ippolito
  • 12 Nov 2013
  • PHP
Risposte
3
Visite
2K
PHP 16 Nov 2013
Giogiosw
G
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?