Sélectionner un document après une requète

Résolu/Fermé
Slylia Messages postés 58 Date d'inscription jeudi 27 mai 2010 Statut Membre Dernière intervention 4 février 2011 - Modifié par Slylia le 28/05/2010 à 09:33
Gremy87 Messages postés 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 - 28 mai 2010 à 11:05
Bonjour,

Pour mon stage, je dois faire une page de recherche qui permet, à la fin de cette recherche, d'afficher le document correspondant.
Ma base de données contient 3 champs : Numéro de commande, Numéro de série, Année, Document. Le champ Document contient seulement le nom du fichier.
Est-il possible de faire une requête permettant de faire appel au nom du document choisis et de l'afficher directement sur ma page HTML ? Je sais que je pourrais utiliser des IF mais le problème est que ma base de données contient plus de 600 lignes et je me vois mal écrire 600 lignes presque identiques.
Pour la recherche du document correspondant à la recherche j'ai utilisé
<?php
$select="select Document from Commande where (NumCom='$NumCom' AND Annee='$Annee')";
?>

Et pour afficher mon fichier j'utilise du javascript, là j'affiche manuellement avec le nom du fichier
<object data="PDF/12221 s 8285 an 2001.pdf" type="application/pdf" width="600" height="900">
alt : <a href="PDF/12221 s 8285 an 2001.pdf">PDF/12221 s 8285 an 2001.pdf</a>
</object>

Puis-je remplacer "12221 s 8285 an 2001.pdf" par une variable afin d'afficher le document demander sans faire 600 lignes de IF ?

Merci d'avance pour vos réponses.
Kylia.

7 réponses

CRBHD Messages postés 136 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 5 avril 2011 9
28 mai 2010 à 09:43
Bonjour,

Bien sûr, tu n'es pas du tout obligé de passer par 600 IF ^^

J'imagine que c'est une base de donnée Mysql ?!

<?php
$select="select Document from Commande where (NumCom='$NumCom' AND Annee='$Annee')";
$result = mysql_query($select) or die(mysql_error());

if (mysql_num_rows($result)>=1)
{
$donnees = mysql_fetch_array($result);
$document = $donnes['Document'];
}
else
{
echo 'Document inexistant';
}

?>

<object data="<?php echo $document; ?>" type="application/pdf" width="600" height="900">
alt : <a href="<?php echo $document; ?>"><?php echo $document; ?></a>
</object>

essaye toujours ça et dis moi si tu as des messages d'erreurs.
0
Slylia Messages postés 58 Date d'inscription jeudi 27 mai 2010 Statut Membre Dernière intervention 4 février 2011 1
28 mai 2010 à 10:20
Bonjour,

J'ai ce message d'erreur qui s'affiche :
Parse error: syntax error, unexpected T_IF in /mnt/162/sdb/8/e/jessica.kerboul/recherche/finrecherche.html on line 22
Avec le script que tu m'as donné :
<?php
$select="select Document from Commande where (NumCom='$NumCom' AND Annee='$Annee')";
$query = mysql_query($sql) or die(mysql_error())
if (mysql_num_rows($query) > 0) {//fichier trouver
$row = mysql_fetch_assoc($query);
$doc = $row['Document'];
?>

<object data="PDF/<?php echo $doc?>" type="application/pdf" width="600" height="900">
alt : <a href="PDF/<?php echo $doc?>">PDF/<?php echo $doc?></a>
</object>

<?php
} else {
echo "Document inexistant";
}
?>
La ligne 22 correspond à :
alt : <a href="PDF/<?php echo $doc?>">PDF/<?php echo $doc?></a>
Je ne comprends tellement l'erreur qu'il peut y avoir à cette ligne, as-tu une idée ?
0
Gremy87 Messages postés 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 38
Modifié par Gremy87 le 28/05/2010 à 10:25
il manque juste un ";" au bout de la ligne du query ;)
0
Slylia Messages postés 58 Date d'inscription jeudi 27 mai 2010 Statut Membre Dernière intervention 4 février 2011 1
28 mai 2010 à 10:34
Tu veux dire un point virgule à la ligne $query = mysql_query($sql) or die(mysql_error()) ?
Quand je le mets j'ai ce message qui s'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 'Resource id #2' at line 1
Je ne vois pas où est cette erreur en regardant ma base de données x_x
0
Gremy87 Messages postés 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 38
28 mai 2010 à 10:42
ca je pense que ca vient du fait que tes variables php que tu met dans ta requete SQL ne contiennent pas des chiffres ( c est pour ca qu il appel ca une ressource) je te conseil de les afficher avant pour verifier leurs valeurs

et oui il faut bien ce petit ; au bout de la ligne du mysql_query
0
Gremy87 Messages postés 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 38
28 mai 2010 à 10:44
ah et je viens de voir une grosse bourde^^

$select="select Document from Commande where (NumCom='$NumCom' AND Annee='$Annee')";
$query = mysql_query($sql) or die(mysql_error())

c est pas mysql_query($sql) mais mysql_query($select)


désolé du double post
0
Slylia Messages postés 58 Date d'inscription jeudi 27 mai 2010 Statut Membre Dernière intervention 4 février 2011 1
28 mai 2010 à 10:53
Je viens de modifier en mettant
<?php
$select="select Document from Commande where (NumCom='$NumCom' AND Annee='$Annee')";
$query = mysql_query($select) or die(mysql_error()
if (mysql_num_rows($query) > 0) {//fichier trouver
$row = mysql_fetch_assoc($query);
$doc = $row['Document'];
?>
Maintenant j'ai ce message qui s'affiche

Parse error: syntax error, unexpected T_IF in /mnt/162/sdb/8/e/jessica.kerboul/recherche/finrecherche.html on line 16
La ligne 16 étant
if (mysql_num_rows($query) > 0) {//fichier trouver
0

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

Posez votre question
Gremy87 Messages postés 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 38
Modifié par Gremy87 le 28/05/2010 à 10:58
<?php
$select="select Document from Commande where (NumCom='$NumCom' AND Annee='$Annee')";
$query = mysql_query($select) or die(mysql_error());
if (mysql_num_rows($query) > 0) {//fichier trouver
$row = mysql_fetch_assoc($query);
$doc = $row['Document'];
?>

voila avec cette syntaxe ca devrais aller mieux, finis les parse error

as tu vérifier le contenu de $NumCom et $Annee pour le probleme de "ressource"?
0
Slylia Messages postés 58 Date d'inscription jeudi 27 mai 2010 Statut Membre Dernière intervention 4 février 2011 1
28 mai 2010 à 11:02
C'est bon ça fonctionne =D le bon document s'affiche *est très contente*
Par contre je ne vois pas ce que tu veux dire par problème de "ressource"
0
Gremy87 Messages postés 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 38
28 mai 2010 à 11:05
cette erreur que tu avait mentionné:

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 'Resource id #2' at line 1

mais ca devait venir du $sql au lieu du $select ;)

voila, bonne continuation
0