Afficher en tableau

Fermé
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 - 19 mars 2008 à 08:45
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 - 20 mars 2008 à 19:23
Bonjour,


je dois afficher les résultats d'une recherche effectuée dans ma base de données et actuellement c'est sous la forme :

L'auteur est</strong> : <?php echo $donnees['auteur']; ?><br />
Le titre est : <?php echo $donnees['motstitre']; ?> et l'année est <?php echo $donnees['année']; ?> <br />
Le journal est : <?php echo $donnees['journal']; ?> et le volume est :<?php echo $donnees['volume']; ?> <br />
La page est :<?php echo $donnees['page']; ?> <br/>

mais je voudrais pouvoir afficher ces résultats dans un tableau avec une colenne auteur une titre... et le résultat de la recherche dans le tableau...
merci d'avance pour votre aide
A voir également:

20 réponses

Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
19 mars 2008 à 08:59
salut,

je te propose une version complète avec titre, en-tête et pied, comme ça tu as tout !
je n'ai pas testé le code mais ça devrait tourner.
si tu veux plus d'infos sur les tableaux.
par contre, vire de suite l'accent au nom de champ "année" !!!
<table>
	<caption>Titre du tableau</caption>
	<thead>
		<tr>
			<th>auteur</th>
			<th>titre</th>
			<th>année</th>
			<th>journal</th>
			<th>volume</th>
			<th>page</th>
		</tr>
	</thead>
	<tfoot>
		<tr>
			<td colspan="6"><?php echo mysql_num_rows( $result ); ?> enregistrement(s)</td>
		</tr>
	</tfoot>
	<tbody>
<?php
	while( $donnees = mysql_fetch_assoc( $result ) )
	{
?>
		<tr>
			<td><?php echo $donnees['auteur']; ?></td>
			<td><?php echo $donnees['motstitre']; ?></td>
			<td><?php echo $donnees['annee']; ?></td>
			<td><?php echo $donnees['journal']; ?></td>
			<td><?php echo $donnees['volume']; ?></td>
			<td><?php echo $donnees['page']; ?></td>
		</tr>
<?php
	}
?>
	</tbody>
</table>
0
IdleMan Messages postés 243 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 25 juin 2012 60
19 mars 2008 à 09:01
He bien il te suffit de faire la meme chos dans un tableau a savoir :


<table width="325" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center">Auteur</td>
<td align="center">Titre</td>
<td align="center">Journal</td>
<td align="center">Volume</td>
<td align="center">Page</td>
</tr>
<tr>
<td align="center"><?php echo $donnees['auteur']; ?></td>
<td align="center"><?php echo $donnees['motstitre']; ?></td>
<td align="center"><?php echo $donnees['journal']; ?></td>
<td align="center"><?php echo $donnees['volume']; ?></td>
<td align="center"><?php echo $donnees['page']; ?></td>
</tr>
</table>
0
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
19 mars 2008 à 13:36
ok idleman ca marche nikel mais comment je peux faire si je veux que le cadreau soit encadré...??
0
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
19 mars 2008 à 13:42
et aussi que dois-je rajouter pour augmenter la police des éléments du tableau merci
0
IdleMan Messages postés 243 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 25 juin 2012 60
19 mars 2008 à 13:58
Qu'est ce que tu appelle le cadrau ?

Pour modifier la police tu peut utiliser une feuille de style css ou la taper en dur dans ton code html :
le code est le suivant :
<font size="5">tontexte</font>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
19 mars 2008 à 14:03
cadreau=tableau lol
je voudrais que le tableau soitr vraiment quadrillé avec des lignes... pour bien séparé chaque ligne
0
IdleMan Messages postés 243 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 25 juin 2012 60
19 mars 2008 à 14:37
tient , c'est du complet html , c'est pas tres pro ma is j'ai la flemme de faire le css et je suis au boulot , je te conseille tout de meme d'apprendre les balises html et les styles css , c'est quasi indispensable pour creer un site basique :

<table width="325" border="1" cellpadding="5" cellspacing="0" bordercolor="#CCCCCC">
<tr>
<td align="center"><font color="#990000" size="2" face="Arial, Helvetica, sans-serif"><strong>Auteur</strong></font></td>
<td align="center"><font color="#990000" size="2" face="Arial, Helvetica, sans-serif"><strong>Titre</strong></font></td>
<td align="center"><font color="#990000" size="2" face="Arial, Helvetica, sans-serif"><strong>Journal</strong></font></td>
<td align="center"><font color="#990000" size="2" face="Arial, Helvetica, sans-serif"><strong>Volume</strong></font></td>
<td align="center"><font color="#990000" size="2" face="Arial, Helvetica, sans-serif"><strong>Page</strong></font></td>
</tr>
<tr>
<td align="center"><font color="#E0DFE3" size="2" face="Arial, Helvetica, sans-serif"><?php echo $donnees['auteur']; ?></font></td>
<td align="center"><font color="#E0DFE3" size="2" face="Arial, Helvetica, sans-serif"><?php echo $donnees['motstitre']; ?></font></td>
<td align="center"><font color="#E0DFE3" size="2" face="Arial, Helvetica, sans-serif"><?php echo $donnees['journal']; ?></font></td>
<td align="center"><font color="#E0DFE3" size="2" face="Arial, Helvetica, sans-serif"><?php echo $donnees['volume']; ?></font></td>
<td align="center"><font color="#E0DFE3" size="2" face="Arial, Helvetica, sans-serif"><?php echo $donnees['page']; ?></font></td>
</tr>
</table>
0
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
19 mars 2008 à 14:39
merci mais en fait j'ai trouvé un truc avec juste du css
table
{
margin: auto;
border: 4px outset green;
border-collapse: collapse;
}

th
{
background-color: #006600;
color: white;
font-size: 1.1em;
font-family: Arial, "Arial Black", Times, "Times New Roman", serif;
}

td
{
border: 1px solid black;
font-family: "Comic Sans MS", "Trebuchet MS", Times, "Times New Roman", serif;
text-align: center;
padding: 5px;


En revanche le probleme que j'ai c'est que si j'ai plusieurs resultats dans ma recherche il me fait plusieurs tablaux alors queje voudrais qu'un tableau et qu'après il rajoute une ligne au tablerau a chaque fois je ne sais pas comment le modifié, mon code ci-dessous :


while ($donnees = mysql_fetch_array($reponse))
{

?>

<p>
<table width="1200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center">Auteur</td>
<td align="center">Titre</td>
<td align="center">Année</td>
<td align="center">Journal</td>
<td align="center">Volume</td>
<td align="center">Page</td>
<td align="center">Motsclé</td>
<td align="center">Sujet</td>
<td align="center">Pdf</td>
<td align="center">References</td>

</tr>
<tr>
<td align="center"><?php echo $donnees['auteur']; ?></td>
<td align="center"><?php echo $donnees['motstitre']; ?></td>
<td align="center"><?php echo $donnees['année']; ?></td>
<td align="center"><?php echo $donnees['journal']; ?></td>
<td align="center"><?php echo $donnees['volume']; ?></td>
<td align="center"><?php echo $donnees['page']; ?></td>
<td align="center"><?php echo $donnees['motscle']; ?></td>
<td align="center"><?php echo $donnees['sujet']; ?></td>
<td align="center"><a href="<?php echo $donnees['pdf']?>">pdf</a></td>
<td align="center"><?php echo $donnees['references']; ?></td>
</tr>
</table>
</p>
0
IdleMan Messages postés 243 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 25 juin 2012 60
19 mars 2008 à 14:47
Donc deja garde la methode avec le css , c'est a ça que je pensais ma la flemme de faire sur le moment .

ensuite si tu veut faire une ligne par requete le code sera le suivant :





<p>
<table width="1200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center">Auteur</td>
<td align="center">Titre</td>
<td align="center">Année</td>
<td align="center">Journal</td>
<td align="center">Volume</td>
<td align="center">Page</td>
<td align="center">Motsclé</td>
<td align="center">Sujet</td>
<td align="center">Pdf</td>
<td align="center">References</td>

</tr>

<? while ($donnees = mysql_fetch_array($reponse)){ ?>

<tr>
<td align="center"><?php echo $donnees['auteur']; ?></td>
<td align="center"><?php echo $donnees['motstitre']; ?></td>
<td align="center"><?php echo $donnees['année']; ?></td>
<td align="center"><?php echo $donnees['journal']; ?></td>
<td align="center"><?php echo $donnees['volume']; ?></td>
<td align="center"><?php echo $donnees['page']; ?></td>
<td align="center"><?php echo $donnees['motscle']; ?></td>
<td align="center"><?php echo $donnees['sujet']; ?></td>
<td align="center"><a href="<?php echo $donnees['pdf']?>">pdf</a></td>
<td align="center"><?php echo $donnees['references']; ?></td>
</tr>

<? } ?>
</table>
</p>
0
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
19 mars 2008 à 15:08
merci ca marche impeccable...
je vais passer à la suite de mon projet now
0
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
19 mars 2008 à 15:40
j'ai un probléme dans le code en effet, quand je compléte ma bdd en rentrant les references elles s'affichent bien dans les cases voulues mais je voudrais qu'en plus elles s'affichent sur la meme ligne ou j'ai prealablement rentré le sujet
en gros sur une page je demande de rentrer un nouveau sujet pour compléter la base de données donc tous les champs d'une nouvelle ligne sont vides sauf le champ sujet qui contient celui que je vien de rentrer et ensuite j'ai un lien qui me dit que je peux compléter les champs correspondant à la ligne ou le sujet est rentré

comment faire???

mon code :

<html>
<head>
<link rel="stylesheet" media="screen" type="text/css" title="Essai" href="essai.css" />
<body>

<?php

mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("physique"); // Sélection de la base coursphp


if(!isset($_POST['valeurs']))
{
echo '<form method="post">
<label for="valeurs">Valeurs (séparez pas des tirets, ex : 1-2-3...)</label><input type="text" name="valeurs" id="valeurs" /><br />
<input type="submit" value="Enregistrer !" /></form>';
}
else
{

$arr_valeurs = explode('-', $_POST['valeurs']);
$ex = mysql_query('INSERT INTO base_physique(auteur, motstitre, année, journal, volume, page,motscle) VALUES("'.$arr_valeurs[0].'", "'.$arr_valeurs[1].'", "'.$arr_valeurs[2].'", "'.$arr_valeurs[3].'", "'.$arr_valeurs[4].'", "'.$arr_valeurs[5].'", "'.$arr_valeurs[6].'")')or die(mysql_error());
if($ex) echo 'L\'enregistrement a bien été effectué !';
else echo 'L\'enregistrement n\'a pu être effectué !';
}
?>

<?php
mysql_close();
?>
<br />
<br />

<a href="accueil2.php">cliquez ici</a>pour revenir à la page d'accueil

</body>
</head>
</html>
0
IdleMan Messages postés 243 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 25 juin 2012 60
19 mars 2008 à 15:44
Désolé mais je n'ai absolument rien compris de ce que tu souhaitais faire , mais alors vraiment rien .
0
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
19 mars 2008 à 15:50
lol en gros
j'ai une page ou je peux rajouter un sujet dans la base de donnees dans le champs sujet de la base et une fois que le sujet est dans la base de données si l'utilisateur veut compléter le reste de la ligne concernant ce sujet, il y a un lien vers une autre page si je veux pouvoir compléter cette ligne en rentrant les infos séparés d'un tiret...


j'éspere que c'est plus clair^^
0
IdleMan Messages postés 243 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 25 juin 2012 60
19 mars 2008 à 16:11
A peu pres , en gros tu veut modifier une ligne deja crée pour la completer c'est bien ça ?

Dans ce ca sil ne faudrais plus utiliser la fonction sql INSERT mais la fonction UPDATE , attention ce n'est pas la meme construction dans la requete sql .

ça serais quelque chose du genre

UPDATE base_physique SET auteur='$auteur' WHERE id='".$idselect."

sachant que idselect contiendrais l'id de la ligne stockée dans la database et $auteur contiendrais la nouvelle info a placer sur cette ligne .

apres tu n'a qu'a decliner pour tous tes champs a modifier
0
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
19 mars 2008 à 16:17
ok j'avais essayé mais je n'arrive pas trop à l'adapter dans mon ca
j'ai cela à la base :

$arr_valeurs = explode('-', $_POST['valeurs']);
$ex = mysql_query('INSERT INTO base_physique(auteur, motstitre, année, journal, volume, page,motscle) VALUES("'.$arr_valeurs[0].'", "'.$arr_valeurs[1].'", "'.$arr_valeurs[2].'", "'.$arr_valeurs[3].'", "'.$arr_valeurs[4].'", "'.$arr_valeurs[5].'", "'.$arr_valeurs[6].'")')or die(mysql_error());
if($ex) echo 'L\'enregistrement a bien été effectué !';
else echo 'L\'enregistrement n\'a pu être effectué !';

donc en gros INSERT INTO devient UPDATE mais j'adapte comment avec les set...au lieu de WHERE id='".$idselect." , c'est possible de faire WHERE sujet =$_SESSION['sujet'] qui représente le sujet que j'ai rentré

merci de m'aider c'est cool
0
IdleMan Messages postés 243 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 25 juin 2012 60
20 mars 2008 à 09:03
Je pourrais te donner le code tout fait mais je pense que ça serais plus cool que tu le comprenne aussi je te donne une addresse ultra geniale pour comprendre le sql et ses fonctions les plus importantes :

http://www.phpdebutant.org/article63.php pour insert
http://www.phpdebutant.org/article64.php pour update et delete
0
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
20 mars 2008 à 10:29
merci pour rta réponse idleman je vais me renseigner et je te tiendrais au courant sur ma réussite ou non^^
en revanche désolé mais je ne parle pas chinois lol
0
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
20 mars 2008 à 18:52
bonjour, j'ai un probléme avec le code ci-dessous car quand je mets WHERE=1 cela me modifie bien ce que je veux, en revanche, quand je mets WHERE=$_SESSION['id'] cela ne marche pas donc cela ne modifie pas ce quer je veux au final...
quelqu'un a une idée?

if(!isset($_POST['valeurs']))
{
echo '<form method="post">
<label for="valeurs">Valeurs (séparez pas des tirets, ex : 1-2-3...)</label><input type="text" name="valeurs" id="valeurs" /><br />
<input type="submit" value="Enregistrer !" /></form>';
}
else
{

$arr_valeurs = explode('-', $_POST['valeurs']);
$ex = mysql_query("UPDATE base_physique SET auteur='$arr_valeurs[0]' WHERE id=$_SESSION(id']")or die(mysql_error());
if($ex) echo 'L\'enregistrement a bien été effectué !';
else echo 'L\'enregistrement n\'a pu être effectué !';
}
?>
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
20 mars 2008 à 18:58
salut,

oui, il y a au mons deux erreurs. l'appelle au tableau '$_SESSION' et son usage dans une chaîne.
$ex = mysql_query( "UPDATE base_physique SET auteur='".$arr_valeurs[0]."' WHERE id=".$_SESSION['id'] )or die(mysql_error()); 
0
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
20 mars 2008 à 19:08
je n'arrive toujours pas à faire marcher le code cela affiche : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

sinon est-ce possible de faire cela ou pas?

ex = mysql_query( "UPDATE base_physique SET auteur='".$arr_valeurs[0]."' WHERE sujet=".$_SESSION['sujet'] )or die(mysql_error());

ou cela mrche til ke avecles id??
0
croy Messages postés 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 114
20 mars 2008 à 19:17
Bonjour,

Un code aussi peu formatté complique énormément la recherche d'erreurs basiques de syntaxe.

J'écrirais plutôt le code comme suit :
if( !isset( $_POST[ 'valeurs' ] ) )
	{
	echo '<form method="post">';
	echo	'<label for="valeurs">Valeurs (séparez pas des tirets, ex : 1-2-3...)</label>';
	echo	'<input type="text" name="valeurs" id="valeurs" /><br>';
	echo	'<input type="submit" value="Enregistrer !" />';
	echo '</form>';
	}
else
	{
	$arr_valeurs = explode( '-', $_POST[ 'valeurs' ] );
	$query = "UPDATE base_physique SET auteur = '$arr_valeurs[0]'"
		. " WHERE id = $_SESSION(id']");	// <<<<<< CHERCHER L'ERREUR
	$ex = mysql_query( $query ) or die( mysql_error() );
	if( $ex )
		echo "L'enregistrement a bien été effectué !";
	else
		echo "L'enregistrement n'a pu être effectué !";
	} 


Ce qui me permet de voir tout de suite l'erreur (cf commentaire // <<<<<< CHERCHER L'ERREUR)

Formatter son code avec les règles suivantes est hautemet recommadé :
1. marquer les blocs logiques par une indentation
2. mettre une instruction par ligne (tant pour PHP que HTML)
3. séparer chaque élément syntaxique par un espace.
0
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
20 mars 2008 à 19:23
j'avais repéré qu'il y avait une erreur à l'endroit la car c'est

$query = "UPDATE base_physique SET auteur = '$arr_valeurs[0]'"
. " WHERE id = '$_SESSION['id']'";

mais ca ne marche toujours pas

et est-ce possible de faire . " WHERE sujet = '$_SESSION['sujet']'"; ou cela ne marche qu'avec id ??
0