Problème d'affichage PHP/MYSQL

Signaler
Messages postés
36
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
10 février 2013
-
Messages postés
54
Date d'inscription
mercredi 2 janvier 2008
Statut
Membre
Dernière intervention
2 août 2012
-
Bonsoir à tous, s'il vous plait j'ai un souci concernant un code en PHP/MYSQL
je travaille sur une biliotheque et je veux que lorsque je clique sur le nom d' abonne
j'aurai son nom et tous les livres qu'il a pris ainsi que la date d'emprunt et la date retour.
voila les tables que j'ai :

livre(idLIVRE,titre,nombre_exemplaire)

abonne(idABONNE,nom,prenom)

livre_abonne_date(LIVRE_idLIVRE,ABONNE_idABONNE,DATE_idDATE,date_demande)

date(idDATE,date_emprunt,date_retour)

voila le code :

 

Les livres pris par un abonné


   <?php
 $cnx =  mysql_connect( "localhost", "root", "" ) ;
 
  //sélection de la base de données:
 $db  = mysql_select_db( "bibliotheque" ) ;
$livre = mysql_query("SELECT *FROM abonne");
echo "Veuillez selectionner un abonné :";
?>

<form name="form" method="post" action="#">
      <select name="idabonne">
        <?php
        $abonne = mysql_query("SELECT * FROM abonne");
    while ($donnees = mysql_fetch_array($abonne)){ ?>
        <option value="<?php echo $donnees['idABONNE']; ?>"><?php echo $donnees['nom']; ?></option>
        <?php } ?>
      </select>
      </form>

<?php
if(isset($_POST['idabonne']))
{
?>

 Nom abonne  |
Titre |
Date emprunt |
Date retour |

<?php

$retour  = mysql_query(\"select nom,titre,date_emprunt,date_retour
from livre
inner join livre_abonne_date on livre.idLIVRE=livre_abonne_date.LIVRE_idLIVRE
inner join date on livre_abonne_date.DATE_idDATE=date.idDATE
inner join abonne on livre_abonne_date.ABONNE_idABONNE=abonne.idABONNE where idABONNE='$idabonne'\");
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les abonnée.
{
?>
----

<?php echo stripslashes($donnees['nom']); ?>,
<?php echo stripslashes($donnees['titre']); ?>,
<?php echo stripslashes($donnees['date_emprunt']); ?>,
<?php echo stripslashes($donnees['date_retour']); ?>,

<?php
} // Fin de la boucle qui liste les abonnée.
}
?>


le probleme c'est que j'ai l'affichage juste d'une liste deroulante contenant les noms d'abonne et aucun tableau n'est rempli pour avoir le titre du livre qu'il a emprunter ainsi que la date d'emprunt et de retour.
Quelqu'un pourra t-il m'aider s'il vous plait à propos de ce code ?

2 réponses

Messages postés
54
Date d'inscription
mercredi 2 janvier 2008
Statut
Membre
Dernière intervention
2 août 2012

salut,

tien regarde ça si sa peu t'aider pour avancé :) .
bon courage




<!DOCTYPE html>
<html>
<head>
<style>

aff { color:red; }

.display{display:block;}
.hidden{display:none;}

</style>
<script src= "http://code.jquery.com/jquery-latest.min.js"></script>
</head>

<?php
$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db( "biblio" ) ;
//$livre = mysql_query("SELECT * FROM abonne");
//echo "Veuillez selectionner un abonné :";
?>
<select name="idabonne">
<option value=""></option>
<?php
$abonne = mysql_query("SELECT * FROM abonne");

while ($donnees = mysql_fetch_array($abonne)){ ?>

<option value="<?php echo $donnees['idABONNE']; ?>"><?php echo $donnees['nom']; ?></option>
<?php } ?>
</select>




Nom abonne |
Titre |
Date emprunt |
Date retour |

<?php

echo \"id =\".$idabonne;
$retour = mysql_query(\"select nom,titre,date_emprunt,date_retour

from livre
inner join livre_abonne_date on livre.idLIVRE=livre_abonne_date.LIVRE_idLIVRE
inner join date on livre_abonne_date.DATE_idDATE=date.idDATE
inner join abonne on livre_abonne_date.ABONNE_idABONNE=abonne.idABONNE where idABONNE='$idabonne'\");
while ($donnees1 = mysql_fetch_array($retour)) // On fait une boucle pour lister les abonnée.
{
?>
----

<?php echo stripslashes($donnees1['nom']); ?>,
<?php echo stripslashes($donnees1['titre']); ?>,
<?php echo stripslashes($donnees1['date_emprunt']); ?>,
<?php echo stripslashes($donnees1['date_retour']); ?>,

<?php
} // Fin de la boucle qui liste les abonnée.
//}
?>







<script>
$("select").change(function () {
var str = "";
$("select option:selected").each(function () {
str += $(this).val();
});

if(str != ''){
$("#aff").removeClass('hidden').addClass('display');
}
else{
$("#aff").removeClass('display').addClass('hidden');
}
})
.change();
</script>


</html>
Messages postés
54
Date d'inscription
mercredi 2 janvier 2008
Statut
Membre
Dernière intervention
2 août 2012

dsl j'ai oublié le fihcier "script.js"

et n'oublie pas de changer le nom de la BD

voila le contenu du fichier js:





var currentDate = new Date();

/**
* Calculate new time in function of time parameter
*/
function calculateNewTime ( _additional_time_in_hours ){

// --- Check if input text "from" is present
if ( ! document.getElementById("from") ){
alert("Missing form data 'from' to calculate the new date");
return;
}
// --- Check if input text "to" is present
var toTime = null;
if ( ! document.getElementById("to") ){
alert("Missing form data 'to' to calculate the new date");
return;
}
// --- Retrieve 'to' value
else
toTime = document.getElementById("to").value;

// --- Calculate the new date only if input text "to" is filled
if ( toTime != null && toTime != "" ){

// --- Take current time as a reference to calculate the new time.
// --- An update would be to parse the value of the input text 'to' in order the user to be able to enter his own time
// --- instead of having current time forced
var newDate = new Date(currentDate.getTime());
// --- Del additional time
newDate.setHours(newDate.getHours()-_additional_time_in_hours);
document.getElementById("from").value =
newDate.getFullYear()+"-"+(newDate.getMonth()+1)+"-"+newDate.getDate()+" "+
newDate.getHours()+":"+newDate.getMinutes()+":"+newDate.getSeconds();

}

}

function setNewDate ( selectBox ){
calculateNewTime(selectBox.options[selectBox.options.selectedIndex].value);
}

/**
* Insert current timestamp into input text "to"
*/
function insertCurrentDate ( ){
if ( document.getElementById("to") )
document.getElementById("to").value =
currentDate.getFullYear()+"-"+(currentDate.getMonth()+1)+"-"+currentDate.getDate()+" "+
currentDate.getHours()+":"+currentDate.getMinutes()+":"+currentDate.getSeconds();
}