BIO

Inscris le 28/01/2008 à 18:28
  • Nombre de sujets
    6
  • Nombre de messages
    15
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

BIO
le 19/02/2009 à 14:49
Problème avec une recherche
merci beaucoup pour la réponse elle m'a vraiment aidé. j'ai essayé de raffiner un peu mon code et j'ai introduit un affichage de page par page que j'ai trouvé sur ce site mais le résultat de ma recherche s'affiche seulement sur une première page la deuxième s'affiche vide smiley
avez vous de solution...

recherche-livre.php
<?php
echo'<form action="catalogue-livre.php" method="Post" >
<table align="center" border="0" cellpadding="5" cellspacing="5">
<tr>
<td>Auteur :</td>
<td><input type="text" name="auteur" size="50"></td>
</tr>
<tr>
<td>Mot du titre :</td>
<td><input type="text" name="titre" size="50"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Chercher" name="go" class="SubmitBleu">Recherche avanc&eacute;e</td>
</tr>
</table>
</form>'
?>
<?php
require 'fonction_num.php';
require('connect.php');
if (isset($_POST['go']) && $_POST['go']=='Chercher')
{

($auteur = htmlentities(mysql_real_escape_string($_POST['auteur'])));
($titre = htmlentities(mysql_real_escape_string($_POST['titre'])));

$req = "SELECT count(*) FROM livres WHERE auteur LIKE '%$auteur%' AND titre LIKE '%$titre%'";

$resultat = mysql_query($req) ;

$nb_total = mysql_fetch_array($resultat);
if (($nb_total = $nb_total[0]) == 0)
{

echo 'Aucune réponse trouvée';

} else {

if (!empty($auteur)||!empty($titre))
{
if (!isset($_GET['debut'])) $_GET['debut'] = 0;
$nb_affichage_par_page = 2;

$req = "SELECT * FROM livres WHERE auteur LIKE '%$auteur%' AND titre LIKE '%$titre%' ORDER BY titre ASC LIMIT ".$_GET["debut"].",".$nb_affichage_par_page;
$exec = mysql_query($req);
$nb_resultats = mysql_num_rows($exec);

if($nb_resultats != 0)
{

echo '<span class="Bleu">R&eacute;sultat de votre recherche : ';
if($auteur) echo 'Auteur &laquo; '.$_POST['auteur'].' &raquo;';
if($titre) echo ' Titre &laquo; '.$_POST['titre'].' &raquo;';
echo '</span><br/>'.$nb_total;


if($nb_resultats > 1)
{
echo ' <span class="Vert">r&eacute;sultats trouv&eacute;s</span> ';
}
else
{
echo ' <span class="Vert">r&eacute;sultat trouv&eacute;</span> ';
}
echo 'dans notre biblioth&egrave;que des livres :<br/><br/>';

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

<?php

echo '<span>';
echo 'Siécle : '.$donnees['siecle'].'<br/>';
if($donnees['genre']) echo ' Genre : '.$donnees['genre'].'<br/>';
if($donnees['cote']) echo ' Cote : '.$donnees['cote'].'<br/>';
if ($donnees['auteur']) echo 'Auteur : '.$donnees['auteur'].'<br/>';
echo 'Titre : '.$donnees['titre'].'<br/>';
if($donnees['critique']) echo ' Critique : '.$donnees['critique'].'<br/>';
if($donnees['maison_edition']) echo 'Maison d&acute;édition : '.$donnees['maison_edition'].'<br/>';
if($donnees['lieu_edition']) echo 'Lieu d&acute;édition : '.$donnees['lieu_edition'].'<br/>';
if($donnees['collection']) echo 'Collection : '.$donnees['collection'].'<br/>';
if($donnees['annee_edition']) echo 'Année d&acute;édition : '.$donnees['annee_edition'].'<br/>';
echo 'Nombre de page : '.$donnees['nb_pages'].'<br/>';
if($donnees['mots_cles']) echo 'Mots Clés : '.$donnees['mots_cles'].'<br/>';
echo'<hr>';
echo '</span>';
?>

<?php
} // fin de la boucle
?>

<?php }



else
{
echo '<h5>Pas de resultats</h3>';
echo '<pre>Nous n&acute;avons trouver aucun livre avec le mot :
<span class="Vert">&laquo; '.$_POST['auteur'].' &raquo;</span></pre>';
}
echo '<span class="gras">'.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 3).'</span>';
}
mysql_close();
}
}
?>


fonction_num.php
<?php

function barre_navigation ($nb_total,
$nb_affichage_par_page,
$debut,
$nb_liens_dans_la_barre) {

$barre = '';

// on recherche l'URL courante munie de ses paramètre auxquels on ajoute le paramètre 'debut' qui jouera le role du premier élément de notre LIMIT
if ($_SERVER['QUERY_STRING'] == "") {
$query = $_SERVER['PHP_SELF'].'?debut=';
}
else {
$tableau = explode ("debut=", $_SERVER['QUERY_STRING']);
$nb_element = count ($tableau);
if ($nb_element == 1) {
$query = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&debut=';
}
else {
if ($tableau[0] == "") {
$query = $_SERVER['PHP_SELF'].'?debut=';
}
else {
$query = $_SERVER['PHP_SELF'].'?'.$tableau[0].'debut=';
}
}
}

// on calcul le numéro de la page active
$page_active = floor(($debut/$nb_affichage_par_page)+1);
// on calcul le nombre de pages total que va prendre notre affichage
$nb_pages_total = ceil($nb_total/$nb_affichage_par_page);

// on calcul le premier numero de la barre qui va s'afficher, ainsi que le dernier ($cpt_deb et $cpt_fin)
// exemple : 2 3 4 5 6 7 8 9 10 11 << $cpt_deb = 2 et $cpt_fin = 11
if ($nb_liens_dans_la_barre%2==0) {
$cpt_deb1 = $page_active - ($nb_liens_dans_la_barre/2)+1;
$cpt_fin1 = $page_active + ($nb_liens_dans_la_barre/2);
}
else {
$cpt_deb1 = $page_active - floor(($nb_liens_dans_la_barre/2));
$cpt_fin1 = $page_active + floor(($nb_liens_dans_la_barre/2));
}

if ($cpt_deb1 <= 1) {
$cpt_deb = 1;
$cpt_fin = $nb_liens_dans_la_barre;
}
elseif ($cpt_deb1>1 && $cpt_fin1<$nb_pages_total) {
$cpt_deb = $cpt_deb1;
$cpt_fin = $cpt_fin1;
}
else {
$cpt_deb = ($nb_pages_total-$nb_liens_dans_la_barre)+1;
$cpt_fin = $nb_pages_total;
}

if ($nb_pages_total <= $nb_liens_dans_la_barre) {
$cpt_deb=1;
$cpt_fin=$nb_pages_total;
}

// si le premier numéro qui s'affiche est différent de 1, on affiche << qui sera un lien vers la premiere page
if ($cpt_deb != 1) {
$cible = $query.(0);
$lien = '<A HREF="'.$cible.'">&lt;&lt;</A>&nbsp;&nbsp;';
}
else {
$lien='';
}
$barre .= $lien;

// on affiche tous les liens de notre barre, tout en vérifiant de ne pas mettre de lien pour la page active
for ($cpt = $cpt_deb; $cpt <= $cpt_fin; $cpt++) {
if ($cpt == $page_active) {
if ($cpt == $nb_pages_total) {
$barre .= $cpt;
}
else {
$barre .= $cpt.'&nbsp;-&nbsp;';
}
}
else {
if ($cpt == $cpt_fin) {
$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
$barre .= "'>".$cpt."</A>";
}
else {

$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
$barre .= "'>".$cpt."</A>&nbsp;-&nbsp;";
}
}
}

$fin = ($nb_total - ($nb_total % $nb_affichage_par_page));
if (($nb_total % $nb_affichage_par_page) == 0) {
$fin = $fin - $nb_affichage_par_page;
}

// si $cpt_fin ne vaut pas la dernière page de la barre de navigation, on affiche un >> qui sera un lien vers la dernière page de navigation
if ($cpt_fin != $nb_pages_total) {
$cible = $query.$fin;
$lien = '&nbsp;&nbsp;<A HREF="'.$cible.'">&gt;&gt;</A>';
}
else {
$lien='';
}
$barre .= $lien;

return $barre;
}
?>
BIO
le 12/02/2009 à 20:27
Problème avec une recherche
j'ai le code suivant:
<?php

$host = 'localhost';
$pseudo = 'root';
$password = '';
$database = 'moteur_recherche';

$connection = mysql_connect($host,$pseudo,$password)
or die ('Erreur Connection'.mysql_error($conenction));
$select_db = mysql_select_db($database)
or die ('Base inexistante'.mysql_error($conenction));


$requete = htmlentities(mysql_real_escape_string($_POST['requete']));


if (!empty($requete))
{
$req = "SELECT * FROM site WHERE nom_site LIKE '%$requete%'";
$exec = mysql_query($req);
$nb_resultats = mysql_num_rows($exec);

if($nb_resultats != 0)
{
echo '<center>';
echo '
<form action="moteur_recherche2.php" method="Post">
<input type="text" name="requete" size="60px">
<input type="submit" value="Ok">
</form>';
echo '</center>';
echo '<font color="blue">Resultat de votre recherche </font><br/>
<font size="2px">'.$nb_resultats.'</font>';


if($nb_resultats > 1)
{
echo ' <font size="2px" color="red">resultats</font> ';
}
else
{
echo ' <font size="2px" color="red">resultats trouvé</font> ';
}



echo '<font size="2px">dans notre base de donnees :</font><br/><br/>';



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

<?php

echo '<span>';
echo '<font size="2px">'.$donnees['adresse_site'].'</font><br/>';
echo '<font size="2px">'.$donnees['nom_site'].'</font><br/>';
echo '<font size="2px">'.$donnees['description_site'].'</font><br/>';
echo '</span>';
?>

<?php
} // fin de la boucle
?>


<?php
}


else
{
echo '<center>';
echo '
<form action="moteur_recherche2.php" method="Post">
<input type="text" name="requete" size="60px">
<input type="submit" value="Ok">
</form>';
echo '</center>';
echo '<h5>Pas de resultats</h3>';
echo '<pre>Nous n avons trouver aucun resultats pour votre requete
<font color="blue">' .$_POST['requete'].'</font></pre>';

}
mysql_close();
}

else

{


echo '<center>';
echo '
<form action="moteur_recherche2.php" method="Post">
<input type="text" name="requete" size="60px">
<input type="submit" value="Ok">
</form>';
echo '</center>';

}

?>

le problème est que lors de l'affichage de la page dans mon navigateur une erreur du type:
"Undefined index: requete in ..." est c'est avec la ligne
$requete = htmlentities(mysql_real_escape_string($_POST['requete']));
juste après la connexion à la base. et cette même erreur disparaisse après la première exécution
BIO
le 25/10/2008 à 21:57
Problème avec les caractères accentués
Bonjour,
mon problème n'est pas résolu car ma BD est en UTF-8 mes pages et mon navigateur aussi, je crois que le problème ce n'est pas avec le codage des pages mais plutôt avec ma requête 'insert'.
$sql = 'INSERT INTO message VALUES("", "'.mysql_escape_string($_POST['email']).'", "'.mysql_escape_string($_POST['expediteur']).'", "'.mysql_escape_string($_POST['message']).'", "'.date("Y-m-d H:i:s").'")';

vraiment j'ai pas trouvé de solution même la fonction 'encode' ne fait rien
BIO
le 08/10/2008 à 21:18
Problème avec les caractères accentués
salut,
mon problème c'est que tous les caractères accentués écrites dans ma formulaire seront envoyer comme des caractères inconnus et bizarres dans ma base de donnée « é » j’ai beaucoup essayer mais pas de solution. j'ai essayé ça :
<input name="expediteur" type="text" value="<?php if (isset($_POST['expediteur'])) echo htmlentities(trim($_POST['expediteur']), ENT_QUOTES, 'UTF-8'); ?>" size="30">
mais pas de résultat...
BIO
le 09/09/2008 à 18:12
Pas de modification dans ma base
Salut,

Dans une autre page j'ai la liste de mes livres avec un lien de modification qui me présente les données correcte de l'enregistrement voulu(page présenté); mais au moment où je termine la modification et je clique sur le bouton "modifier le livre" la modification au niveau de ma base ne se réalise pas...
BIO
le 08/09/2008 à 16:52
Pas de modification dans ma base
c'est ma page de modification mais la modification au niveau de la base de donnée ne se fait pas correctement et il y a quelque part une erreur que je ne le vois pas. quelqu'un peux m'aider...

<?php
if (isset($_POST['go']) && $_POST['go']=='Modifier le livre')
{
require('connect.php');

if (!isset($_POST['siecle'])|| !isset($_POST['cote']) || !isset($_POST['auteur'])|| !isset($_POST['titre'])|| !isset($_POST['critique'])|| !isset($_POST['maison_edition'])|| !isset($_POST['lieu_edition'])|| !isset($_POST['collection'])|| !isset($_POST['annee_edition'])|| !isset($_POST['nb_pages'])|| !isset($_POST['mots_cles'])) {
$erreur = 'Les variables nécessaires au script ne sont pas définies.';
}
else {
if (empty($_POST['siecle']) || empty($_POST['titre']) || empty($_POST['nb_pages'])) {
$erreur = 'Au moins un des champs est vide.';
}
else {
$sql = 'UPDATE livres SET siecle="'.$_POST['siecle'].'", genre="'.$_POST['genre'].'", cote="'.$_POST['cote'].'", auteur="'.$_POST['auteur'].'", titre="'.$_POST['titre'].'", critique="'.$_POST['critique'].'", maison_edition="'.$_POST['maison_edition'].'", lieu_edition="'.$_POST['lieu_edition'].'", collection="'.$_POST['collection'].'", annee_edition="'.$_POST['annee_edition'].'", nb_pages="'.$_POST['nb_pages'].'", mots_cles="'.$_POST['mots_cles'].'" WHERE id="'.$_GET['id_livre_a_modif'].'"';

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

mysql_close();

header('Location:liste_livres.php');
exit();
}
}
}
?>
<html>
<head>
<title>Modifier un livre</title>


<?php
require 'connect.php';
$result = mysql_query ('SELECT * from livres WHERE id="'.$_GET['id_livre_a_modif'].'"');
while ($data = mysql_fetch_array ($result))
{ ?>
<form action="modif_livre.php" method="post">
<table>
<tr>
<td class="gras">Si&eacute;cle* : </td>
<td><select name="siecle" >
<option ><?php echo($data['siecle']); ?></option>
<option ></option>
<option value="Moyen Age" >M. Age</option>
<option value="XVI">XVI</option>
<option value="XVII">XVII</option>
<option value="XVIII">XVIII</option>
<option value="XIX">XIX</option>
<option value="XX">XX</option>
</select></td>
</tr>
<tr>
<td class="gras">Genre : </td>
<td><select name="genre" id="list_G" disabled>
<option><?php echo($data['genre']); ?></option>
<option ></option>
<option>&Eacute;POPEE</option>
<option>ROMAN</option>
<option>CHRONIQUES</option>
<option>CONTES</option>
<option>FABLIAUX</option>
<option>POESIE</option>
<option>THEATRE</option>
<option>DIVERS</option>
<option>CRITIQUES&nbsp;LITTERAIRES</option>
<option>CRITIQUES&nbsp;GENERALES</option>
<option>ANCIEN&nbsp;FRANCAIS</option>
</select>
</td>
</tr>
<tr>
<td class="gras">Cote :</td>
<td><input type="text" name="cote" maxlength="50" size="50" value="<?php echo($data['cote']); ?>"></td>
</tr>
<tr>
<td class="gras">Auteur :</td>
<td><input type="text" name="auteur" maxlength="50" size="50" value="<?php echo($data['auteur']); ?>"></td>
</tr>
<tr>
<td class="gras">Titre* :</td>
<td><textarea name="titre" cols="38" rows="4"><?php echo($data['titre']); ?></textarea></td>
</tr>
<tr>
<td class="gras">Critique :</td>
<td><input type="text" name="critique" maxlength="50" size="50" value="<?php echo($data['critique']); ?>"></td>
</tr>
<tr>
<td class="gras">Maison d&#8217;&eacute;dition : </td>
<td><input type="text" name="maison_edition" maxlength="50" size="50" value="<?php echo($data['maison_edition']); ?>"></td>
</tr>
<tr>
<td class="gras">Lieu d&#8217;&eacute;dition :</td>
<td><input type="text" name="lieu_edition" maxlength="50" size="50" value="<?php echo($data['lieu_edition']); ?>"></td>
</tr>
<tr>
<td class="gras">Collection :</td>
<td><input type="text" name="collection" maxlength="50" size="50" value="<?php echo($data['collection']); ?>"></td>
</tr>
<tr>
<td class="gras">Ann&eacute;e d&#8217;&eacute;dition :</td>
<td><input type="text" name="annee_edition" maxlength="4" size="50" value="<?php echo($data['annee_edition']); ?>" ></td>
</tr>
<tr>
<td class="gras">Nombre de pages* : </td>
<td><input type="text" name="nb_pages" maxlength="8" size="50" value="<?php echo($data['nb_pages']); ?>" ></td>
</tr>
<tr>
<td class="gras">Mots Cl&eacute;s :</td>
<td><textarea name="mots_cles" cols="38" rows="4"><?php echo($data['mots_cles']); ?></textarea></td>
</tr>
<tr>
<td>
<td align="right"><br><input type="submit" name="go" value="Modifier le livre"></td>
</tr>
</table>
</form>
<?php
}
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
</html>
BIO
le 20/08/2008 à 12:26
Probléme avec les dates
echo $data['date_envoi'] marche bien mais je veux bien avoir une date mieux lisible (en français).

Et à propos de la requête create :


CREATE TABLE `message` (
`id` int(10) NOT NULL auto_increment,
`email` varchar(50) NOT NULL default '',
`expediteur` varchar(45) NOT NULL default '',
`message` text NOT NULL,
`date_envoi` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
)
BIO
le 15/08/2008 à 20:03
Probléme avec les dates
c'est ma requête insert
<? INSERT INTO message VALUES("", "'.mysql_escape_string($_POST['email']).'", "'.mysql_escape_string($_POST['expediteur']).'", "'.mysql_escape_string($_POST['message']).'", "'.date("Y-m-d H:i:s").'")?>

et elle marche trés bien
BIO
le 15/08/2008 à 14:22
Probléme avec les dates
Salut à vos tous,
mon probléme est avec l'affichage de mes dates; ils sont bien placé dans la table de mon serveur lors de l'insertion avec
<? insert into .. value ("'.date("Y-m-d H:i:s").'")?>

mais lors de d'affichage
<? sscanf($data['date_envoi'], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec); 
echo '<tr><td>' , $jour , '/' , $mois , '/' , $an , ' à ' , $heure , ':' , $min , ':' , $sec ; ?>

je vois une résultat comme ca " // à :: " avec des valeurs vides (pas de date)
Rq: mon serveur c'est le "wampServer" et ce même code marche trés bien avec le easyPHP
LoadingChargement en cours