[RESOLU] Probleme d'affichage

Eléphanteau du PHP | 18 Messages

13 nov. 2013, 07:43

Bonjour à tous je suis débutant un vrais et je bloque ,j'ai fait des recherche et bosser dur mais rien et je tourne vers vous
je voudrais savoir pourquoi ça n'affiche que le premier ligne dans ma bdd merci pour votre aide !
voici le code
$req = mysql_query("SELECT IDECON, YCDAEC,YCMEI, NODOSS, YCMCRD, YCMECR, SUM(YCMEI) AS SOMME FROM apprets 
WHERE radical LIKE '%".$_POST['recherche']."%' GROUP BY radical "); 
$resultat = mysql_num_rows($req);
if (strlen($_POST["recherche"]) > 0)
{

 
  echo ' ';
	   if($resultat <=1)
		echo''.$resultat.' résultat';
		elseif($resultat >1)
		echo''.$resultat.' résultats';
echo '&nbsp;&nbsp;';
echo'pour  [ <span style="color:red;">'.$_POST['recherche'].' </span> ]<br />';
?><table cellspacing="5px" cellpadding="1px"border="1px"<?php
?> CAPTION><strong>Dossier pret client : année 2013</CAPTION></strong><br/><?php
?> <tr><th>IDECON</th><th>YCDAEC</th><th>YCMEI</th><th>NODOSS</th>
<th>YCMCRD</th><th>YCMECR</th></tr><br/><?php
while( $result = mysql_fetch_assoc($req)) 
{
?>
	<tr>
<td><?php echo'<span style="color:black;font-weight:bold">', $result['IDECON'];?></span></td>
<td><?php echo'<span style="color:green;font-weight:bold">', $result['YCDAEC'];?></span></td>
<td><?php echo'<span style="color:red;font-weight:bold">', $result['YCMEI'];?></span></td>
<td><?php echo'<span style="color:brown;font-weight:bold">', $result['NODOSS'];?></span></td>
<td><?php echo'<span style="color:grey;font-weight:bold">', $result['YCMCRD'];?></span></td>
<td><?php echo'<span style="color:orange;font-weight:bold">',$result['YCMECR'];?></span></td>
<?php echo 'total:<span style="color:red;font-weight:bold">', $result['SOMME'];?></span>
	</tr>
<?php
}
Modifié en dernier par moogli le 13 nov. 2013, 08:26, modifié 1 fois.
Raison : Bbcode

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

13 nov. 2013, 08:28

Modération :
Merci d'utiliser un titre clair et qui correspond bien à ta demande.
Les titres contenant "HELP !", "Aidez-moi", "J'ai un problème", "Ça marche pas",...
n'apportent rien à la compréhension de ta demande.

Par ailleurs, nous savons déjà par ton message que tu as besoin d'aide.

Tu peux corriger ton titre en éditant ton premier message.

Merci de prendre le temps de lire les règlements.


Salut,

Affiche la requête sql et test la avec un client sql ;)

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 18 Messages

13 nov. 2013, 08:43

mogli !quoi dans "problème d'affichage " que tu ne comprend pas je vais te l'expliquer clairement :D

ViPHP
xTG
ViPHP | 7331 Messages

13 nov. 2013, 11:04

mogli !quoi dans "problème d'affichage " que tu ne comprend pas je vais te l'expliquer clairement :D
Hum on attends l'explication. :D

Problème d'affichage peut être interprété de nombreuses façons : contenu incorrect/vide, contenant(couleur, forme, ect), ect

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

13 nov. 2013, 11:19

parce que tu ne va pas voir ton médecin en disant j'ai malade ni ton garagiste en disant voiture marche pas !!!!


tu as quelque chose qui ne s'affiche pas et alors, on ne sais pas ce que c'est et on ne va pas le deviner :mrgreen:

un titre c'est la première chose qui sert à évaluer ton message et la du coup on passe dessus donc cela ne te sert pas mais ne sert à personne d'autre.
quelqu'un qui comme toi cherche un réponse sur le net ne s’arrêtera pas sur ton message même si il a le même problème que toi et qu'il y a la réponse.
D’ailleurs si tout le monde utilisait des titre un poil plus correct peut être aurait trouvé une solution à ton problème :mrgreen:

quand à ton code il faut que tu test la requête que tu génère pour la tester avec un client mysql.

je peux te dire :
- que la requête est sensible aux injection sql
- que cette page retournera fatalement une erreur si on y accède sans utiliser le formulaire ou si "recherche" n'est pas dans le formulaire
- ta table est mal faite : le br n'a rien a faire dans une table (il va être mis en dehors de la table du coup il y a des sauts de ligne en plus à l'affichage) idem pour la somme elle ne pas être en dehors de la table sinon c'est le foutoir).
- ta requête SQL n'est pas valide et la tester avec un client SQL devrait le dire.

si j’insiste autant sur le test de la requête SQL c'est que c'est la première chose à faire, une requête doit être fait dans un client sql puis ensuite intégré au code php.

pour finir un ptit tuto sur le debugage ;)

ton code un peu mieux formaté ;)
<?php
$req = mysql_query("SELECT IDECON, YCDAEC,YCMEI, NODOSS, YCMCRD, YCMECR, SUM(YCMEI) AS SOMME FROM apprets
WHERE radical LIKE '%" . $_POST['recherche'] . "%' GROUP BY radical ");
$resultat = mysql_num_rows($req);
if ($resultat > 0) {
    echo 'r&eacute;sultat';
    if ($resultat > 1) {
        echo 's';
    }
    echo '&nbsp;&nbsp;';
    echo 'pour  [ <span style="color:red;">' . $_POST['recherche'] . ' </span> ]<br />';

    echo '<table cellspacing="5px" cellpadding="1px"border="1px"
    CAPTION><strong>Dossier pret client : ann&eacute;e 2013</CAPTION></strong><br/>
    <tr>
        <th>IDECON</th>
        <th>YCDAEC</th>
        <th>YCMEI</th>
        <th>NODOSS</th>
        <th>YCMCRD</th>
        <th>YCMECR</th>
        <th>somme</th>
    </tr>';
    while ($result = mysql_fetch_assoc($req)) {
        echo <<<line
        <tr>
            <td><span style="color:black;font-weight:bold">${result['IDECON']}</span></td>
            <td><span style="color:green;font-weight:bold">${result['YCDAEC']}</span></td>
            <td><span style="color:red;font-weight:bold">${result['YCMEI']}</span></td>
            <td><span style="color:brown;font-weight:bold">${result['NODOSS']}</span></td>
            <td><span style="color:grey;font-weight:bold">${result['YCMCRD']}</span></td>
            <td><span style="color:orange;font-weight:bold">${result['YCMECR']}</span></td>
            <td>total:<span style="color:red;font-weight:bold">${result['SOMME']}</span><td>
        </tr>
line;
    }
@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 18 Messages

14 nov. 2013, 12:11

OK chef moogli! :D
je reformule, dans cet table apprets il y a un client qui possède plusieurs information et le script affiche seulement le premier ligne mais pas tout les informations du client dans la BDD MYSQL 5.0 merci .
PS : j'ai bien dis débutante une vrais débutante

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

14 nov. 2013, 22:48

est tu sure que la requête retourne bien 5 lignes ?
<?php
$sql = "SELECT IDECON, YCDAEC,YCMEI, NODOSS, YCMCRD, YCMECR, SUM(YCMEI) AS SOMME FROM apprets
WHERE radical LIKE '%" . $_POST['recherche'] . "%' GROUP BY radical ";
echo $sql;
$req = mysql_query($sql);
tu prend ce qui est affiché et l'utilise dans un client mysql (phpmyadmin, heidisql, mysqlworkbench etc etc).

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 18 Messages

19 nov. 2013, 07:18

bonjour !
dans ce même contexte d'affichage enfin j'espère , comment on transforme ceci 25840000 en 25.840.000 au mieux avec des espace qui sépare les dizaine les centaines ainsi de suit .

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

19 nov. 2013, 09:22

Il en faut peu pour être heureux ......

Mammouth du PHP | 2278 Messages

19 nov. 2013, 10:23

[quote"]
On ne te parle pas de tes clients...
<?php
$sql = "SELECT IDECON, YCDAEC,YCMEI, NODOSS, YCMCRD, YCMECR, SUM(YCMEI) AS SOMME FROM apprets
WHERE radical LIKE '%" . $_POST['recherche'] . "%' GROUP BY radical ";
echo $sql;
$req = mysql_query($sql);
tu prends ce qui est affiché et l'utilises dans un client mysql (phpmyadmin, heidisql, mysqlworkbench etc etc).

@+[/quote]
moi je sortirais le $_POST
$recherche = isset($_POST['recherche']) ? ($_POST['recherche'] : "";
/*tests plus précis sur $recherche*/
et dans $sql on peut écrire
LIKE '%$recherche'
le reste comme dit moogli
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphanteau du PHP | 18 Messages

29 nov. 2013, 09:28

Je vous remercie ! c'est résolue