problema visualizzazione dati da tabella

arapecoston

Utente Attivo
8 Giu 2013
60
0
0
come da titolo ho un problema con la pagina di visualizzaione dati della tabella. mi spiego meglio, i dati nella tabella sono posizionati ognuno nel loro campo mentre quando li visualizzo tramite la pagina i dati non sono nei giusti campi, sono spostati.

pagina di visualizzazione
PHP:
<?php
define("DB_HOST", 'localhost'); 
define("DB", 'my_arapecoston');
define("DB_USER", 'arapecoston');
define("DB_PW", '');

mysql_connect(DB_HOST, DB_USER, DB_PW);
mysql_select_db(DB);
require_once "gioincorso.php";
//.....
$query="select * from formazioni order by Id";
$result= mysql_query($query);
$numfields = mysql_num_fields($result);
echo "<table><tr>";
if($numfields > 0){
    for ($i=0; $i < $numfields; $i++){ 
           echo "<th>".mysql_field_name($result, $i)."</th>"; 
    }
    echo "</tr>";
    while ($row = mysql_fetch_array($result)){//qui è lo stesso salvo il discorso della data
        //è evidente che se non hai il problema della data il tuo metodo va più che bene
        echo "<tr><td>".$row['squadra']."</td><td>".$row['porta']."</td><td>".$row['titolare1']."</td><td>".$row['titolare2']."</td><td>".$row['titolare3']."</td><td>".$row['titolare4']."</td><td>".$row['titolare5']."</td><td>".$row['titolare6']."</td><td>".$row['titolare7']."</td><td>".$row['titolare8']."</td><td>".$row['titolare9']."</td><td>".$row['titolare10']."</td><td>".$row['riservaporta']."</td><td>".$row['riserva1']."</td><td>".$row['riserva2']."</td><td>".$row['riserva3']."</td><td>".$row['riserva4']."</td><td>".$row['riserva5']."</td><td>".$row['riserva6']."</td><td>".date("d/m/Y H:i:s",$row['data'])."</td></tr>";
    }  
}else{
    echo "<tr><td>non ci sono squadre</td></tr>";
}
echo "</table>";
?>

ecco come si vedono
vistab.JPG

ecco come dovrebbero essere
tab.JPG
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Ti sei dimenticato di visualizzare la data prima della squadra. In alternativa escludila dai campi selezionati nella query SQL. Comunque visualizzare i dati in questo modo è poco elegante: scrivi manualmente la tabella.
 

arapecoston

Utente Attivo
8 Giu 2013
60
0
0
ho modificato così
PHP:
<?php
define("DB_HOST", 'localhost'); 
define("DB", 'my_arapecoston');
define("DB_USER", 'arapecoston');
define("DB_PW", '');

mysql_connect(DB_HOST, DB_USER, DB_PW);
mysql_select_db(DB);
require_once "gioincorso.php";
//.....
$query="select * from formazioni order by Id";
$result= mysql_query($query);
$numfields = mysql_num_fields($result);
echo "<table><tr>";
if($numfields > 0){
    for ($i=0; $i < $numfields; $i++){ 
           echo "<th>".mysql_field_name($result, $i)."</th>"; 
    }
    echo "</tr>";
    while ($row = mysql_fetch_array($result)){//qui è lo stesso salvo il discorso della data
        //è evidente che se non hai il problema della data il tuo metodo va più che bene
        echo "<tr><td>".$row['']."</td><td>".date("d/m/Y H:i:s",$row['data'])."</td><td>".$row['squadra']."</td><td>".$row['porta']."</td><td>".$row['titolare1']."</td><td>".$row['titolare2']."</td><td>".$row['titolare3']."</td><td>".$row['titolare4']."</td><td>".$row['titolare5']."</td><td>".$row['titolare6']."</td><td>".$row['titolare7']."</td><td>".$row['titolare8']."</td><td>".$row['titolare9']."</td><td>".$row['titolare10']."</td><td>".$row['riservaporta']."</td><td>".$row['riserva1']."</td><td>".$row['riserva2']."</td><td>".$row['riserva3']."</td><td>".$row['riserva4']."</td><td>".$row['riserva5']."</td><td>".$row['riserva6']."</td></tr>";
    }  
}else{
    echo "<tr><td>non ci sono squadre</td></tr>";
}
echo "</table>";
?>

e si vede bene (a parte il fatto che non mette il numero id)
Cattura.JPG

può andar bene la modifica? ho sbagliato qualcosa?
la visualizzazione lo vedo che fà un pò pena ma non saprei come fare per visualizzare in maniera diversa.
 

arapecoston

Utente Attivo
8 Giu 2013
60
0
0
grazie problema risolto.

se potete aiutarmi avrei un'altro piccolo (piccolo per voi) problemino con la funzione trim nella pagina dove c'è il form:

PHP:
$tit = array_map('trim',$tit);//tolgo eventuali spazi prima e dopo
$tit = array_map('strtolower',$tit);//rendo, se ci sono i nomi tutti minuscoli
$tit = array_map('ucfirst',$tit);//rendo, se ci sono i nomi con l'iniziale maiuscola
$ris = array_map('trim',$ris);// c.s.
$ris = array_map('strtolower',$ris);// c.s.
$ris = array_map('ucfirst',$ris);// c.s.

la parte di codice che vedete sopra non mi acceta parole doppie (esempio de rossi), devo scrivere de rossi attaccato e cioè derossi
ho provato ad usare sia ltrim che rtrim ma non và
 

arapecoston

Utente Attivo
8 Giu 2013
60
0
0
ciao
$tit è un array?
se si puoi usare array_map
se no devi usare solo trim
PHP:
$tit=trim($tit); //analogo per gli altri

PHP:
<?php
session_start();//attento davanti e prima dell <? non deve essrci nemmeno uno spazio
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
</head>
<style type="text/css">
body {background: #CCCCCC; font-family:Arial, Helvetica, sans-serif; font-size:12px;}
.normale{text-align: center;}
.squadra{color: #ff0000;font-weight: bold;text-align: center;}
.titolari{color: #009933; font-weight: bold; text-align: center;}
.riserve{color: #0000ff; font-weight: bold; text-align: center;}
</style>
<body>
<?php
if(isset($_POST['invia'])){
    $tit=array();
    //elimino il post del submit che potrebbe dare fastidio
    unset($_POST['invia']);
    //ricevi i dati e li normalizzo per una eventuale ricerca
    $squadra = strtoupper(trim($_POST['squadra']));//rendo tutto maiuscolo il nome della squadra
    $tit=$_POST['titolare'];
    $ris=$_POST['riserva'];
    $tit = array_map('trim',$tit);//tolgo eventuali spazi prima e dopo
    $tit = array_map('strtolower',$tit);//rendo, se ci sono i nomi tutti minuscoli
    $tit = array_map('ucfirst',$tit);//rendo, se ci sono i nomi con l'iniziale maiuscola
    $ris = array_map('trim',$ris);// c.s.
    $ris = array_map('strtolower',$ris);// c.s.
    $ris = array_map('ucfirst',$ris);// c.s.
    //e li verifico
    $errori="";//metto a vuoto una striga per gli errori
    //verifico nome squadra
    if(!preg_match("/^[A-Z]{3,15}$/",$squadra)){//devi decidere il massimo e minimo di caratteri {min, Max}
        $errori.="nome squadra non inserito o con caratteri non ammessi<br />";
        $_SESSION['sq']="";
    }else{
        $_SESSION['sq']="$squadra";
    }
    //verifico i titolari
    if(count($tit)<11){
        $errori.="non hai inserito tutti i titolari<br />";
    }else{
        foreach($tit as $ch => $val){
            if(!preg_match("/^[a-zA-Zàèìòù]{3,15}$/",$val)){//devi decidere il massimo e minimo di caratteri {min, Max}
                $_SESSION['tit'][$ch]="";
                if($val==""){
                    $nn=(int)$ch;
                    if($nn==0){$nn="porta";}
                    $errori.="il nome del titolare $nn vuoto<br />";
                }else{
                    $errori.="il nome del titolare $val non ammesso<br />";
                }
            }
            $_SESSION['tit'][$ch]="$val";
        }
    }
    //verifico le riserve
    if(count($ris)<7){
        $errori.="non hai inserito tutte le riserve<br />";
    }else{
        foreach($ris as $ch => $val){
            if(!preg_match("/^[a-zA-Zàèìòù]{3,15}$/",$val)){//devi decidere il massimo e minimo di caratteri {min, Max}
                $_SESSION['ris'][$ch]="";
                if($val==""){
                    $nn=(int)$ch;
                    if($nn==0){$nn="riservaporta";}
                    $errori.="il nome dela riserva $nn vuoto<br />";
                }else{
                    $errori.="il nome della riserva $val non è ammesso<br />";
                }
            }
            $_SESSION['ris'][$ch]="$val";
        }
    }
    //se a questo punto $errori è rimasta vuota non sono stati commessi errori
    if($errori == ""){
        $conn = @mysql_connect('localhost','arapecoston','') or die (mysql_error());
        $sel = @mysql_select_db('my_arapecoston') or die (mysql_error()); 
        //utilizzo le vecchie istruzioni MySql che però sono deprecate anche se per ora funzionano
        //prima o poi però leggiti su MySqli e la classe PDO
        //qui ci vogliono i dati di connessione al db, NON HAI SELEZIONATO IL DB
        //$con = mysql_connect("localhost","arapecoston","my_arapecoston")or die(mysql_error());
        //$sel = mysql_select_db("my_arapecoston") or die (mysql_error());//questo non l'avevi messo
        //attento avevi usato mysqli_connet poi usi le mysql, non puoi mescolare i due metodi
        //USA PER NOMI DEI CAMPI SOLO CARATTERI MINUSCOI ED ANCHE PER I NOMI DELLE VARIABILI
        //se evitano molti errori
        $adesso=time();
        function scrivi_data($t){
        $giorni = array("Domenica","Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato");//ocio parte da domenica
        $mesi = array("","Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre","Novembre", "Dicembre");//ocio parte da 1
        return $giorni[date("w", $t)]." ".date("d", $t)." ".$mesi[date("n", $t)]." ore ".date("H:i:s", $t)." settimana n &deg; ".date("W", $t);

}
$adesso=time();
echo "data in formato umano ".scrivi_data($adesso); 
        $query = "INSERT INTO formazioni(data,squadra, porta, titolare1, titolare2, titolare3, titolare4, titolare5, titolare6, titolare7, titolare8, titolare9, titolare10, riservaporta, riserva1, riserva2, riserva3, riserva4, riserva5, riserva6)
                VALUES(
                '$adesso','$squadra',          '{$tit[0]}','{$tit[1]}','{$tit[2]}','{$tit[3]}','{$tit[4]}','{$tit[5]}','{$tit[6]}','{$tit[7]}','{$tit[8]}','{$tit[9]}','{$tit[10]}',
                '{$ris[0]}','{$ris[1]}','{$ris[2]}','{$ris[3]}','{$ris[4]}','{$ris[5]}','{$ris[6]}'
                )";
        //var_dump($query); echo "<br>";
        if(mysql_query($query)){
            //posso usare sempre la $errori
            $errori="i giocatori della squadra $squadra sono stati inseriti<br />";
        }else{
            $errori="errore di connessione, riprova più tardi<br />";
        }
        session_destroy();
    }
    //visualizzo il messaggio
    echo $errori;
    //e ritorno al form pulito dopo 3 secondi
    echo "<meta http-equiv='Refresh' content='3; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}else{
?>
    <form name="formazione" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
    <table width="400" align="center">
    <tr class="squadra"><td>SQUADRA</td><td><input type="text" name="squadra" value="<?php echo $_SESSION['sq']; ?>" /></td></tr>
    <tr class="titolari"><td colspan="2">titolari</td></tr>
<?php
    //faccio un array con i titoli degli input
    $titolari=array('porta','titolare1','titolare2','titolare3','titolare4','titolare5','titolare6','titolare7','titolare8','titolare9','titolare10');
    //e creo i vari campi di input
    $nn=0;
    foreach($titolari as $ch => $val){
        echo "<tr class=\"titolari\"><td>$val</td><td><input type=\"text\" name=\"titolare[$nn]\" value=\"{$_SESSION['tit'][$nn]}\" /></td></tr>";
        $nn++;
    }
?>
    <tr class="riserve"><td colspan="2">riserve</td></tr>
<?php
    $riserve=array('riservaporta','riserva1','riserva2','riserva3','riserva4','riserva5','riserva6');
    $nn=0;
    foreach($riserve as $ch => $val){
        echo"<tr class=\"riserve\"><td>$val</td><td><input type=\"text\" name=\"riserva[$nn]\" value=\"{$_SESSION['ris'][$nn]}\" /></td></tr>";
        $nn++;
    }
?>
    <tr class="normale"><td>&nbsp;</td><td>&nbsp;</td></tr>
    <tr class="normale"><td>&nbsp;</td><td><input type="submit" name="invia" value="INVIA FORMAZIONE" /></td></tr>
    </table>
    </form>
<?php
}
?>
</body>
</html>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
perchè dici che non funzia, l'unica cosa sostituisci ucfirst con ucwords
PHP:
<?php
$tit=array('pinco pallo', ' de SEMPRONI', ' pallino DE palli ','soFonisba ');
$tit = array_map('trim',$tit);//tolgo eventuali spazi prima e dopo
$tit = array_map('strtolower',$tit);//rendo, se ci sono i nomi tutti minuscoli
$tit = array_map('ucwords',$tit);//rendo, se ci sono i nomi con l'iniziale maiuscola 
echo "<pre>";
var_dump($tit);
echo "</pre>";
?>

output
array(4) {
[0]=>
string(11) "Pinco Pallo"
[1]=>
string(11) "De Semproni"
[2]=>
string(16) "Pallino De Palli"
[3]=>
string(9) "Sofonisba"
}
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
dimenticavo
vedo che inserisci nel db la data nel formato umano, guarda che puoi evere dei problemi se devi ordinare i risultati in ordine di data
es.
lunedì 12 luglio 2013 ....
venerdì 19 luglio 2013 ....
sabato 20 luglio 2013 ....
viene ordinata
lunedì 12 luglio 2013 ....
sabato 20 luglio 2013 ....
venerdì 19 luglio 2013 ....
che è un assurdo

senza contare se devi fare dei confronti
 
Ultima modifica:

arapecoston

Utente Attivo
8 Giu 2013
60
0
0
borgo italia
ciao
perchè dici che non funzia, l'unica cosa sostituisci ucfirst con ucwords

non funziona anche con ucwords.
se inserisco "de rossi" in uno dei campi "titolare" o "riserva" mi dice "il nome de rossi non è ammesso"; praticamente non accetta lo spazio fra le due parole
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
l'errore è qui
if(!preg_match("/^[a-zA-Zàèìòù]{3,15}$/",$val)){//devi decidere il massimo e minimo di caratteri {min, Max}
aggiungi uno spazio nel pattern
PHP:
if(!preg_match("/^[a-zA-Zàèìòù ]{3,15}$/",$val)){//devi decidere il massimo e minimo di caratteri {min, Max}
poi guardo meglio come farlo
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
prova così (provalo prima a parte per capire)
PHP:
<?php
$tit=array('pinco pallo', ' de SEMPRONI', ' pallino DE palli ','soFonisba ','pancrazi', 'de  pallonzi','da romano de roma');
echo "<pre>";
var_dump($tit);
echo "</pre>";
$tit = array_map('trim',$tit);//tolgo eventuali spazi prima e dopo
$tit = array_map('strtolower',$tit);//rendo, se ci sono i nomi tutti minuscoli
$tit = array_map('ucwords',$tit);//rendo, se ci sono i nomi con l'iniziale maiuscola 
echo "<pre>";
var_dump($tit);
echo "</pre>";
foreach($tit as $ch => $val){
	if(!preg_match("/^[a-zA-Zàèìòù]{2,18}[ ]{0,1}[a-zA-Zàèìòù]{2,18}[ ]{0,1}[a-zA-Zàèìòù]{2,18}$/",$val)){
		echo "$val NON è valido<br />";
	}else{
		echo "$val è valido<br />";
	}
}
?>
output
Pinco Pallo è valido
De Semproni è valido
Pallino De Palli è valido
Sofonisba è valido
Pancrazi è valido
De Pallonzi NON è valido //tra il de e pallonzi ci sono due spazi
Da Romano De Roma NON è valido //il nome è composto da più di tre parole separate da uno spazio
 
Discussioni simili
Autore Titolo Forum Risposte Data
N Problema visualizzazione dati dopo GET PHP 19
O Problema visualizzazione dati [era:Un problema] HTML e CSS 11
LaKanka problema di visualizzazione dati dal DB PHP 1
D Problema:Visualizzazione dati recuperati da un database Classic ASP 0
Y Problema visualizzazione PDF generato da fpdf PHP 1
M Problema visualizzazione colori in photoshop Photoshop 0
M [HTML] Problema visualizzazione immagini su dispositivi HTML e CSS 4
Antonio Nervi [Javascript] Problema visualizzazione banner accettazione cookies Javascript 6
A Problema visualizzazione photoshop elements 9 Photoshop 1
A [Javascript] Problema visualizzazione posizione corrente su mappa Javascript 2
A [PHP] Problema visualizzazione nome utente loggato su sito ecommerce PHP 23
fulviozecchin Problema Visualizzazione tabelle HTML nel Browser HTML e CSS 9
asevenx problema visualizzazione menu sovrapposto allo slider WordPress 7
M Problema con visualizzazione immagini da BLOB PHP 1
D problema visualizzazione su smartphones Google Ads (AdWords) 1
LuigiDonato Problema Visualizzazione Menù HTML e CSS 17
B Problema di visualizzazione di uno Slider in jquery jQuery 4
asevenx problema visualizzazione slider con firefox HTML e CSS 3
G Problema visualizzazione sito su iOS HTML e CSS 4
A problema slideshow con visualizzazione mobile HTML e CSS 6
M Problema visualizzazione immagini su blog Tumblr HTML e CSS 2
N ciao a tutti ho un problema con la visualizzazione delle pagine in php PHP 1
D Problema visualizzazione oltre 50 record .... MySQL 2
andrea.peo Problema query con join visualizzazione record ripetuti PHP 5
R Problema di visualizzazione testo con google crome WordPress 1
P Problema visualizzazione immagine da database MySQL 3
S problema di visualizzazione PHP 7
A problema nella visualizzazione file caricato tramite ftp WordPress 0
Emix Problema visualizzazione pagina su host diversi HTML e CSS 3
asevenx problema visualizzazione sito su tablet e portatile PHP 1
N Problema visualizzazione hyperlink con Google Chrome. HTML e CSS 2
S Problema visualizzazione HTML e CSS 5
M Problema visualizzazione codice sorgente altro sito PHP 4
S Problema visualizzazione chrome HTML e CSS 3
GoshMaledetto Problema valori giusti in array sbagliati in visualizzazione Javascript 2
Nicola Miceli Problema Visualizzazione pagina WP su Iphone Smartphone e tablet 0
S Problema visualizzazione codice PHP 4
M Problema visualizzazione immagine PHP 6
P Problema visualizzazione pulsanti dopo scroll jQuery 6
D Problema visualizzazione immagini png PHP 1
M problema di visualizzazione con FF ed Opera HTML e CSS 11
P Problema visualizzazione sito wordpress CMS (Content Management System) 2
A Problema estrazione e visualizzazione immagine da database PHP 16
L Problema visualizzazione immagini formato Tif [era: Formati Tif Problema?!] Windows e Software 1
S Problema permessi visualizzazione immagine PHP 1
S Problema visualizzazione lista amici PHP 6
G Problema visualizzazione immagini PHP 1
C Problema con visualizzazione dell'immagina da tabella database PHP 5
S Problema visualizzazione HTML e CSS 0
giancadeejay Intro flash,problema nella visualizzazione su sito Flash 2

Discussioni simili