page blanche et base de donnée non completée

Eléphanteau du PHP | 41 Messages

31 mai 2012, 15:42

Re!!
Tout marche bien! je dois afficher un tableau avec les noms des champs et leur contenu.
j'ai réussi à trouver ce tableau:

<table width="100%" border="1">
<tr><td width="211">CODE_CLIENT</td>
<td width="170">NOM_CLIENT </td>
<td width="308">ADD_CLIENT</td>
<td width="258">VILLE_CLIENT</td>
</tr>
<?php
$db=mysql_connect('127.0.0.1', 'root', '');
mysql_select_db('db1',$db);
$sql ="select * from client";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_array($req))
{
echo '<tr><td>'.$data['NOM_CLIENT'].'</td><td>';
echo $data['ADD_CLIENT'].'</td><td>';
echo $data['VILLE_CLIENT'].'</td><td>';
echo $data['CODE_CLIENT'].'</td></tr>';
}

?></table>

qui fonctionne! cependant j'aimerai que ce tableau soit en vertical. c'est à dire que dans une colonne il y ait le nom des champs et la colonne d'à coté le contenu du champ, hors ici, c'est le nom des champs sur une ligne et le contenu des champs sur une autre. j'ai beaucoup de champs à afficher donc ça risque de pas être très beau.. Une idée? même un lien vers un tutoriel ça m'irait ;) merci !

kny
Eléphanteau du PHP | 47 Messages

31 mai 2012, 15:46

Il s'agit là de code HTML.
<tr> = a row
<td> = a cell

Je te renvoie donc à cette documentation:
http://w3schools.com/tags/tag_tr.asp

Eléphanteau du PHP | 41 Messages

31 mai 2012, 16:21

Je cherche depuis tout à l'heure et je ne sais pas où placer les balises <th> </th>...
j'ai les noms des champs et le contenu dans la même colonne... de l'aide? svp

<table width="100%" border="1">
<td>CODE_CLIENT</td>
<tr><td>NOM_CLIENT </td></tr>
<tr><td>ADD_CLIENT</td></tr>
<tr><td>VILLE_CLIENT</td></tr>

<?php
$db=mysql_connect('127.0.0.1', 'root', '');
mysql_select_db('db1',$db);
$sql ="select * from client where CODE_CLIENT=5213";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_array($req))
{echo '<td>'.$data['CODE_CLIENT'].'</td>';
echo '<tr><td>'.$data['NOM_CLIENT'].'</td></tr>';
echo '<tr><td>'.$data['ADD_CLIENT'].'</td></tr>';
echo '<tr><td>'.$data['VILLE_CLIENT'].'</td></tr>';

}

?>
</table>

kny
Eléphanteau du PHP | 47 Messages

31 mai 2012, 16:44

As-tu suivi la page que je t'ai mise en lien?
<table width="100%" border="1">
  <tr>
    <th>Key</th>
    <th>Value</th>
  </tr>
  <tr>
    <td>Code client</td>
    <td>125</td>
  </tr>
  <tr>
    <td>Code Ville</td>
    <td>1537</td>
  </tr>
</table>

Eléphanteau du PHP | 41 Messages

31 mai 2012, 16:56

oui j'ai tout suivi! mais je suis embrouillé avec le while! j'ai testé des choses mais ça ne fonctionnait pas et ça ne me paraissait pas logique. Du cou ce que tu me montre ne m'aide pas vraiment!

kny
Eléphanteau du PHP | 47 Messages

31 mai 2012, 17:09

Horizontal
<?php

    $db=mysql_connect('127.0.0.1', 'root', '');
    mysql_select_db('db1',$db);

    $sql ="select * from client where CODE_CLIENT=5213";

    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

    // j'écris les données qui ne dépendent pas de l'itération
    // personnellement je ferais la mise en forme par css plutôt qu'encombrer le code hmtl
    // aussi je m'en dispense dans le code
    echo '<table>' .
            '<tr><th>Key</th><th>Value</th></tr>' ;

    while($data = mysql_fetch_array($req)) {

        echo '<tr><td>Code client</td><td>' . $data['CODE_CLIENT'] . '</td></tr>';
        echo '<tr><td>Nom client</td><td>' . $data['NOM_CLIENT'] . '</td></tr>';
        echo '<tr><td>Adresse client</td><td>' . $data['ADD_CLIENT'] . '</td></tr>';
        echo '<tr><td>Ville Client</td><td>' . $data['VILLE_CLIENT'] . '</td></tr>';

    }

    echo '</table>';

?>
Vertical
<?php

    $db=mysql_connect('127.0.0.1', 'root', '');
    mysql_select_db('db1',$db);

    $sql ="select * from client where CODE_CLIENT=5213";

    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

    // j'écris les données qui ne dépendent pas de l'itération
    // personnellement je ferais la mise en forme par css plutôt qu'encombrer le code hmtl
    // aussi je m'en dispense dans le code
    echo '<table>' .
            '<tr><th>Code client</th><th>Nom client</th><th>Adresse client</th><th>Ville client</th></tr>' ;

    while($data = mysql_fetch_array($req)) {

        echo '<tr>';
        echo '<td>' . $data['CODE_CLIENT'] . '</td>';
        echo '<td>' . $data['NOM_CLIENT'] . '</td>';
        echo '<td>' . $data['ADD_CLIENT'] . '</td>';
        echo '<td>' . $data['VILLE_CLIENT'] . '</td>';
        echo '</tr>';

    }

    echo '</table>';

?>

Eléphanteau du PHP | 41 Messages

01 juin 2012, 08:53

TU gère :D merci :) vous avez des facilités à faire ça vous.. il va me falloir un peu de temps pour en arriver là!

Eléphanteau du PHP | 41 Messages

01 juin 2012, 11:57

J'ai juste un petit détail à régler et je vois pas comment faire...
Je veux enregistrer un fichier pdf donc j'utilise PHPExcel.
Cependant le nom du fichier va toujours s’appeler "fichier.pdf" si j'écris ça ainsi. Donc lorsque je relancerais mon script php ça va remplacer le fichier existant par le nouveau.
J'aimerais qu'à la place de "fichier" ce soit une variable. je ne sais pas si c'est possible en php!

<?php
....
$records = 'C:\Données utilisateur\Downloads\fichier.pdf';
$writer->save($records);
?>

kny
Eléphanteau du PHP | 47 Messages

01 juin 2012, 13:22

Avant de savoir si c'est possible, il faut cerner la problématique au mieux!
Quel format de sortie souhaites-tu?

En réalité, dans tout ce que tu vas entreprendre, il te faut une méthodologie, plus ou moins stricte, évidemment!
Sans quoi, tu vas t'éparpiller de trop et te perdre.
Si je reprends l'exemple de l'affichage html précédent, il n'y avait rien de complexe. Il t'aurait été salutaire de prendre le temps de composer en html pur, sans s'embarrasser de php, pour bien comprendre la structure de ton tableau. De là, tu aurais cerné les parties récurrentes et donc déduit ce qui entrait dans la boucle.

Eléphanteau du PHP | 41 Messages

01 juin 2012, 13:33

j'avais fait des test pour le tableau! Mais je ne comprenais pas ce que ça affichait même le texte n'était pas dans le tableau à un moment! :(
un format de sortie? Je ne vois pas trop ce que tu veux dire. j'ai réussi à extraire mon tableau en pdf mais dans la méthode que j'utilise on doit mettre un nom de fichier du style "fichier.pdf" mais si on fait une deuxième extraction ça me remplace mon fichier.pdf
ce que je voudrai c'est que le fichier porte le nom d'un des champs du tableau par exemple! j'ai donc essayer:
<?php
.....
$fichier = $data['NUM'];
$records = "C:\Données utilisateur\Downloads\'$fichier'.pdf";
$writer->save($records);
?>
Mais le soucis ça doit être les guillemets! Donc je suis perdu !

kny
Eléphanteau du PHP | 47 Messages

01 juin 2012, 13:39

Effectivement, ce sont les guillemets :D
$fichier = $data['NUM'];
$records = "C:\Données utilisateur\Downloads\" . $fichier . ".pdf";
$writer->save($records);
Mes remarques n'étaient pas des critiques acerbes ou négatives, juste des conseils. Navré si j'ai pu laisser penser le contraire.

Eléphanteau du PHP | 41 Messages

01 juin 2012, 13:51

hmmm ça m'a donné une erreur j'ai essayé de modifier afin que ça fonctionne et ça marche. Simplement ça m'affiche les guillemets et les points. C'est toujours ça mais il y aurait pas un moyen de les enlever? :oops:

$records = "C:\Données utilisateur\Downloads\'.$fichier.'.pdf";

ce qui me donne un fichier qui s'appelle '.3215874.'.pdf

erreur avec ta syntaxe: syntax error, unexpected ' " '

kny
Eléphanteau du PHP | 47 Messages

01 juin 2012, 13:58

A mince je n'avait pas fait attention au fait qu'il échappe les guillemets Ah là là, windows... :lol:
$records = "C:\Données utilisateur\Downloads\$fichier.pdf";

Eléphanteau du PHP | 41 Messages

01 juin 2012, 14:17

j'ai pas compris ce que tu voulais que je fasse ^^
parce que :
$records = "C:\Données utilisateur\Downloads\$fichier.pdf";
ça fonctionne pas.

du cou j'ai fait ça et ça fonctionne :
$records = "C:/Données utilisateur/Downloads/$fichier.xlsx";
Je ne sais pas par quel miracle! mais c'est cool! :D

ViPHP
xTG
ViPHP | 7331 Messages

01 juin 2012, 16:22

Le \ étant pour échapper un caractère il faut faire ainsi :
$records = "C:\\Données utilisateur\\Downloads\\$fichier.pdf";