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

Résolu
Slylia Messages postés 64 Statut Membre -  
Gremy87 Messages postés 360 Statut Membre -
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 153 Statut Membre 9
 
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 64 Statut Membre 1
 
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 360 Statut Membre 38
 
il manque juste un ";" au bout de la ligne du query ;)
0
Slylia Messages postés 64 Statut Membre 1
 
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 360 Statut Membre 38
 
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 360 Statut Membre 38
 
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 64 Statut Membre 1
 
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 360 Statut Membre 38
 
<?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 64 Statut Membre 1
 
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 360 Statut Membre 38
 
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