Risultati ciclo foreach in tabella

colomber

Utente Attivo
4 Dic 2012
232
1
18
Ciao a tutti vi spiego il mio problema , ho una parola $parola che prendo da un form da questa creo un'array con tutti i caratteri che la formano $caratteri. Poi ho un'array $dati con migliaia di parole.

Allora per ogni singolo carattere della parola che prendo nel form stampo a video tutte le parole che iniziano con quel carattere. il tutto va dentro l'array $corrispondenze il mio problema é stampare a video i risultati in questo modo esempio parola CASA

Codice:
C              A           S              A

cuore        amore     sabato       amore
cucina       anno      suora         anno
carcere      ansia     silicone       ansia
PHP:
$caratteri = str_split($parola);    
               
$corrispondenze = array(); 
                        
foreach($caratteri as $carattere) {               
    foreach($dati as $dato) {                      
        if (substr($dato, 0, 1) == $carattere) {   
            $corrispondenze[$carattere][] = $dato; 				
        }
    }
}

qualcuno mi aiuta grazie
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se non ho capito male quello che vuoi fare, prova così
PHP:
<?php
//......
for($k=0; $k < strlen($parola); $k++){
	echo "<p>carattere. ".$parola[$k]."</p><blockquote>";
	foreack($corrispondenze[$parola[$k]] as $ch =>$val){
		echo "dato: $val<br />";
	}
	echo "</blockquote>";
}
//.......
?>
 

colomber

Utente Attivo
4 Dic 2012
232
1
18
Hai capito benissimo funziona, il problema é che devo inserirli in tabella in questo modo:

HTML:
<table border="1">
<tr><td>C</td><td>A</td><td>S</td><td>A</td></tr>
<tr><td>cuore</td><td>amore</td><td>sabato</td><td>amore</td></tr>
<tr><td>cucina</td><td>anno</td><td>suora</td><td>anno</td><td>
<tr><td>carcere</td><td>ansia</td><td>silicone</td><td>ansia</td></tr>
</table>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
prova una cosa del genere
(guarda che l'ho buttao giù al volo)
PHP:
<?php
//......
for($k=0; $k < strlen($parola); $k++){
    foreack($corrispondenze[$parola[$k]] as $ch =>$val){
        if($k==0){
			$inizio[]="<tr><td>$val</td>";
		}elseif($k==(strlen($parola)-1)){
			$fine[]="<td>$val</td></tr>";
		}else{
			$mezzo[]="<td>$val</td>";
		}
    }
}
$quanti=count($inizio);//da quello che ho capito le quntità (cioè le righe) sono uguali
$stampa="";
for($j=0;$j<$quanti;$j++){
	$stampa. =$inizio[$j].$mezzo[$j].$fine[$j];
}
echo "<table border=\"1\">$stampa</table>";
//.......
?>
quindi può essere che non funzi
 

colomber

Utente Attivo
4 Dic 2012
232
1
18
Funziona solo se la parola é lunga da 3 caratteri in giù, se ne scrivo una più lunga i primi due caratteri sono ok mentre mi stampa a video solo l'ultimo carattere dal quarto in su li salta.


ESEMPIO: casa

mi stampa le parole per C , A e poi ultima A

ESEMPIO: urlare

mi stampa le parole per U , R e poi ultima E
 

colomber

Utente Attivo
4 Dic 2012
232
1
18
la parola la prendi da un form per quanto riguarda l'array dati l'originale é una cosa enorme puoi provare con questo qui semplice non sono parole ma lettere

$dati= array(
"a","b","c","d","e","f","g","h","i","l","m","n","o","p","q","r","s","t","u","v","z"
);
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
ciao,
puoi provare anche cosi
PHP:
<?php

$dati = array(
    "cuore", "amore", "sabato",
    "cucina", "anno", "suora",
    "carcere", "ansia", "silicone"
);
$parola = "casa";

echo "<table border=1>";
echo "<tr>";
foreach (str_split($parola) as $lettera) {

    echo "<td>" . $lettera . "<br/>";
    echo "<table>";
    foreach ($dati as $parola) {
        if (substr($parola, 0, 1) == $lettera) {
            echo "<tr>";
            echo "<td>" . $parola . "</td>";
            echo "</tr>";
        }
    }
    echo "</table>";
    echo "</td>";
}
echo "</tr>";
echo "</table>";
?>
 

colomber

Utente Attivo
4 Dic 2012
232
1
18
Criric riesci a mettere ogni parola dentro ad un <td> diverso come nell'esempio prima del tuo?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
secondo me criric ha trovato la soluzione, non lo vedi ma ogni parola è dentro un td, per vederlo basta che tu dia border=1 alla table interna
 

colomber

Utente Attivo
4 Dic 2012
232
1
18
guardate l'immagine é il risultato inserendo border=1 non so come togliere gli spazi vuoti nel primo script ero tutto compattato perfettamente

a.png
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
prova ad aggiungere valign top alla td
PHP:
.......
 echo "<td valign='top'>" . $lettera . "<br/>";
......
altrimenti bisogna rivedere i cicli
 

colomber

Utente Attivo
4 Dic 2012
232
1
18
Funziona!

Vi ringrazio siete stati molto gentili ad aiutarmi e complimenti per il sito é davvero utile.
 
Discussioni simili
Autore Titolo Forum Risposte Data
maxnegri [PHP] Eliminare risultati duplicati da ciclo foreach ottenuti da una select php mysqli PHP 18
K Estrazione di più risultati da tabelle correlate PHP 5
D Risultati diversi elaborazione dati fra localhost e Altervista PHP 0
M Contare totale risultati tabella in un periodo di tempo PHP 5
F stampare a video i risultati della query PHP 1
M Visualizzazione a video risultati query php PHP 0
P Passare i risultati di un foreach in un modal. Help! PHP 2
G eseguire calcoli matematici su risultati 2 tabelle mysql PHP 4
TpD Incolonnare risultati query (mysql_result deprecato...) PHP 3
S come togliere un post dai risultati di google? Supporto Mr.Webmaster 5
M Filtrare risultati con valori checkbox passati con jquery jQuery 2
M [PHP] Mostrare risultati di una tabella ma solo se ID è attivo PHP 0
A [MySQL] Ottenere più risultati in un unico campo MySQL 7
Alex_70 [PHP] Ricerca con risultati cliccabili PHP 21
A [PHP] If e Else paginazione ok ci sono risultati no ma avanti lo stesso PHP 15
G [PHP] operazione matematica tra risultati di query PHP 5
Sangy PHP risultati negativi in rosso PHP 2
P Google risultati di ricerca inappropriati SEO e Posizionamento 1
D [PHP] questi risultati in una tabella PHP 4
trattorino [PHP] Risultati dentro array precisi e confrontabili PHP 7
MikSkagit [PHP] Risultati a video sulla stessa riga PHP 12
V [ASP] paginazione-risultati-query-grandi-dimensioni Classic ASP 8
L [PHP] Creare un uploader di file csv xls e ricercare i risultati PHP 0
U [PHP] estrarre i risultati di una query e visualizzarli in una tabella. PHP 9
T Monitorare risultati Google in base alla località e device di ricerca SEO e Posizionamento 0
G Risultati evidenziato dopo ricerca Classic ASP 4
M [PHP] Evidenziare le parole cercate nei risultati di una ricerca PHP 1
filippino Chiavi a corrispondenza inversa per i risultati organici? (Era: come NON farsi trovare con date chia SEO e Posizionamento 4
JackIlPazzo Ritornare risultati query in un array? PHP 1
F Tabella con prima colonna con i risultati di una query PHP 1
ecosito Risultati di Google all'interno di una pagina del sito? HTML e CSS 7
D Mysql ordinamento risultati MySQL 4
otto9due Rand() o mt_rand() per ottenere risultati alternativi.. non uguali per 3 estrazioni. PHP 5
M Paginazione di risultati query mysql PHP 2
D Problema risultati duplicati PHP 5
D [risolto] Problemi di paginazione dei risultati con una determinata query Classic ASP 4
N Raggruppare risultati di due tabelle PHP 1
M Dividere risultati in colonna in base al contenuto PHP 9
alankanz dividere risultati in pagine MySqli PHP 4
alankanz Suddividere risultati MySqli PHP 0
alankanz Estrarre solo risultati numerici MySQL 2
xone Ordinare tramite menù a tendina i risultati di una query già stampati MySQL 0
StarFish [MySQL] Full Text problema rilevanza risultati MySQL 0
L PHP e recupero risultati da query PHP 2
L PHP e recupero risultati da query PHP 11
B Sommare risultati db PHP 3
M Domanda riguardo i risultati della ricerca di google Joomla 14
R visualizzare risultati query utilizzando le funzioni PHP 0
R Ricerca risultati ner raggio di 'n' km da un punto PHP 3
L Dividere risultati per data e pagine diverse PHP 17

Discussioni simili