Recuperation de donnée avec php

Fermé
apprentiDev Messages postés 154 Date d'inscription dimanche 2 mai 2010 Statut Membre Dernière intervention 1 mai 2013 - 7 juin 2010 à 17:01
apprentiDev Messages postés 154 Date d'inscription dimanche 2 mai 2010 Statut Membre Dernière intervention 1 mai 2013 - 7 juin 2010 à 17:17
Bonjour,

Je reprends le code d'une personne mais j'ai des difficulté à le comprendre.

Le but du code est d'afficher dans un tableau les éléments relatif a des données dans un tableau.
Dans un premiers temps on a les requêtes qui sélectionne les informations en fonctions des informations donnée par l'utilisateur. Ensuite on récupere les résultats dans une variable $result.
Après c'est la ou je bloque je ne comprend pas comment la personne a fait pour ensuite afficher les donénes dans le tableau.

Voici le code :

<?php
echo '<br/>' ;
$pays = $_POST['pays'] ;
$lieu = $_POST['lieu_geo'] ;
$longitude = $_POST['longitude'] ;
$latitude = $_POST['latitude'] ;
$trace = $_POST['trace'] ;
$rang = $_POST['rang'] ;
$jour_min = $_POST['jour_min'] ;
$mois_min = $_POST['mois_min'] ;
$annee_min = $_POST['annee_min'] ;
$jour_max = $_POST['jour_max'] ;
$mois_max = $_POST['mois_max'] ;
$annee_max = $_POST['annee_max'] ;
$date= $_POST['date'] ;
$canal= $_POST['canal'] ;
$campagne= $_POST['num_camp'] ;
include('config.php');

$image = " AND (im.id_type_image > 0) AND (im.id_type_image < 4) " ;


 else if ( $pays == ''  && $lieu == ''  && $longitude =='' && $latitude == '' && $trace =='' && $rang == '' && $date != ''  ) {
 // Si seul la date est renseigne
$sql="SELECT pa.nom_pays, sc.lieu_scene, sc.date_scene, sc.trace_scene, sc.rang_scene, sc.commentaire_scene, sc.angle_scene, src.libelle_src, AsText(sc.coord_scene), sc.resolution_scene 
	FROM (scene sc, image im, canal ca, source src, pays pa, est_localisee est)
	WHERE ('".$date."'=YEAR(sc.date_scene))
	AND (pa.iso_pays = est.iso_pays)
	AND (est.id_scene = sc.id_scene)
	AND (sc.id_src = src.id_src) 
	AND (est.id_scene = sc.id_scene) 
	AND (im.id_scene = sc.id_scene)
	AND (ca.id_canal = im.id_canal) GROUP BY im.id_scene 
	ORDER BY sc.date_scene";

// D'autres requêtes du même mais qui varient selon les informations fournis par l'utilisateur.
}
 



echo '<html>
	<head>
	
		        
        <style type="text/css">
			#mon_div
			{

// Code CSS
				width: 700px;
				color:#000000;
				font-family: "Trebuchet MS";
				font-size: 15px;
				border: 0px solid #B2B2B2;
				text-align:center;
				overflow:scroll;
			}
                        
                        .ligne1
                        {
                                color : #4b6f6b;
                                border-top : 1px solid #FE3A13;
                                border-left : 1px solid #FE3A13;
                                border-right : 0px;
                                border-bottom : 0px;
                        }                        
                        .ligne
                        {
                                border-top : 1px solid #FE3A13;
                                border-left : 1px solid #FE3A13;
                                border-right : 0px;
                                border-bottom : 0px;
                        }
			.bouton
                        {
                                border-top : 0px;
                                border-left : 0px;
                                border-right : 0px;
                                border-bottom : 0px;
				background : '.$couleur.';
				text-decoration: underline;
				color:#7676F3;
				font-size : 100%;
                        }
  
        </style>
	</head>
	<body>
	<div id="mon_div" color = "#4b6f6b">' ;
$result = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo '<center>';
echo '<table>
        <thead>

// indique le nom des colones

                <tr>';
                echo '<th class="ligne1"> Pays </th>';
                echo '<th class="ligne1"> Lieu </th>';
                echo '<th class="ligne1"> Date </th>'; 
                echo '<th class="ligne1"> Trace </th>';
                echo '<th class="ligne1"> Rang </th>';
                //echo '<th class="ligne1"> Commentaire </th>';
                echo '<th class="ligne1"> Canal </th>';
                echo '<th class="ligne1"> Source </th>';
                echo '<th class="ligne1"> Coordonnees </th>';
                //echo '<th class="ligne1"> Resolution </th>';
                echo '</tr>
        </thead>';
$i=1;
  
echo '<tbody>';      
while ($row=mysql_fetch_array($result)){

// changement des couleurs de fond selon le positionnement dans le tableau.
	if ($row[6] == "NULL")
	{
		$row[6]="";
	}
	$j = 0;
        if($i%2 == 1){
        $couleur="#e4fecc";
        }else{ 
        $couleur="#fdfecc";}
	        
        echo '<tr bgcolor="'.$couleur.'">';
	while ($j <10){
	        echo '<td class="ligne">';
		if ($j==2)
		{

// Ici je pensais que c'est l'endroit qui permet de modifier le contenu des variables mais même quand je fait une mise en commentaire de ces lignes le contenu du tableau ne change pas.
			
			echo '<form name="formulaire" method="post" action="index.php?option=com_content&view=article&id=92&Itemid=103">';
			echo '<input type="HIDDEN" name="pays" value='.$row[0].'>' ;
			echo '<input type="HIDDEN" name="date" value='.$row[2].'>' ;
			echo '<input type="HIDDEN" name="trace" value='.$row[3].'>' ;
			echo '<input type="HIDDEN" name="rang" value='.$row[4].'>' ;
			echo '<input type="HIDDEN" name="canal" value='.$row[6].'>' ;
			echo '<input class="bouton" type="submit" value='.$row[$j].'>' ;
			//echo "<p onClick='bouton()'>".$row[$j]."</p>" ;
			echo '</form>';
		}
		else if($j > 5)
		{
			echo $row[$j+1];
		}
		else if($j < 5)
		{
			echo $row[$j];
		}
                echo '</td>';
	        $montablo[$i]=$row[$j];
                //$i++;
	        $j++;
		//echo $row[$j];
	}
	echo '</tr>';
        $i++;
}
echo '</tr></tbody></table>';
echo '</center></div></body></html>';
//echo $result ;
if (!$result) {
	echo "aucun résultat !";
	echo 'Erreur MySQL : ' . mysql_error();
	exit;
}
mysql_close() ;
?>


Si quelqu'un peut m'indiquer le bon chemin.
En vous remerciant par avance,
Apprenti

A voir également:

2 réponses

JFS77 Messages postés 385 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 15 décembre 2015 70
7 juin 2010 à 17:05
Je suis pas sur de comprendre ton roblème mais l'écrituse se fait dans les lignes "echo row[...]"
0
apprentiDev Messages postés 154 Date d'inscription dimanche 2 mai 2010 Statut Membre Dernière intervention 1 mai 2013 4
7 juin 2010 à 17:17
Peut etre je suis pas sur. J'ai mis en commentaire ces lignes avec row et au mieux ca me fait disparaitre la colonne. Ce que je n'arrive pas à comprendre c'est comment la personne à réussi à faire pour dire que dans tel colonne c'est tel élément de la ligne du résultat qui s'affiche.
0