Peacock

  • Nombre de sujets
    25
  • Nombre de messages
    100
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers sujets sur les forums

Peacock
le 23/02/2005 à 12:19
pb : adaptation moteur
Bonjour à tous,

Y avait longtemps, au moins depuis 2004...
Le pb qui m'amène et une erreur de syntaxe sur une adaptation du moteur utilisé dans Daforum...

Dans mon cas je veux que la recherche se fasse sur deux champs... Tout roule pour un seul mot entré dans le champs de recherche, dés que je rentre deux mots l'erreur suivante MySQL suivante se pointe :
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/base/html/pages/produits.php on line 208

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/base/html/pages/produits.php on line 211

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/base/html/pages/produits.php on line 226


Dans l'adaptation, je ne fais pas appelle au fichier config.php comme dans le script du moteur de Daforum, mais juste un fichier php include qui donne les paramètres sous la forme classique :

<?
$phputilisateur="dsq357";
$phpmotdepasse="123456";
$host="localhost";
$base="dsq357";

?>

Quant au code,la partie où ça se joue, le voici :

<?php	if( !empty($submit_recherche) ) 
{
if( !empty($recherche) )
{
$recherche=ereg_replace("[ ]{2,}", " ", $_GET['recherche']);
$tablo_recherche = explode (" ", $recherche);
$nb_element_recherche = count ($tablo_recherche);

if ($_GET['type_search'] == 'et') {
$operateur = 'AND';
}
else {
$operateur = 'OR';
}

$nb_affichage_par_page = 10;

$sql = 'SELECT DISTINCT * FROM prod_tbl WHERE (';
for($i = 0; $i < $nb_element_recherche; $i++) {
if ($i == 0) {
if ($i == ($nb_element_recherche-1)) {
$sql .= ' prod_tbl.Texte LIKE "%'.$tablo_recherche[$i].'%" OR prod_tbl.Titre LIKE "%'.$tablo_recherche[$i].'%")';
}
else {
$sql .= 'prod_tbl.Texte LIKE "%'.$tablo_recherche[$i].'%" OR prod_tbl.Titre LIKE "%'.$tablo_recherche[$i].'%")';
}
}
elseif ($i == ($nb_element_recherche-1)) {
$sql .= ' '.$operateur.' (prod_tbl.Texte LIKE "%'.$tablo_recherche[$i].'%" OR prod_tbl.Titre LIKE "%'.$tablo_recherche[$i].'%")';
}
else {
$sql .= ' '.$operateur.' (prod_tbl.Texte LIKE "%'.$tablo_recherche[$i].'%" OR prod_tbl.Titre LIKE "%'.$tablo_recherche[$i].'%")';
}
}
$sql .= ' ORDER BY prod_tbl.Titre DESC';

$resultat = mysql_db_query($base, $sql, $id_lien) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$enr = mysql_num_rows($resultat);

$nbtotal = $enr;

if ($nbtotal == 0) {
$resultats_obtenus = "<i>Aucune réponse trouvée...</i>";
}
else {
if (!isset($_GET['debut'])) $_GET['debut'] = 0;

$sql = 'SELECT DISTINCT * FROM prod_tbl WHERE (';
for($i = 0; $i < $nb_element_recherche; $i++) {
if ($i == 0) {
if ($i == ($nb_element_recherche-1)) {
$sql .= ' prod_tbl.Texte LIKE "%'.$tablo_recherche[$i].'%" OR prod_tbl.Titre LIKE "%'.$tablo_recherche[$i].'%")';
}
else {
$sql .= ' prod_tbl.Texte LIKE "%'.$tablo_recherche[$i].'%" OR prod_tbl.Titre LIKE "%'.$tablo_recherche[$i].'%")';
}
}
elseif ($i == ($nb_element_recherche-1)) {
$sql .= ' '.$operateur.' (prod_tbl.Texte LIKE "%'.$tablo_recherche[$i].'%" OR prod_tbl.Titre LIKE "%'.$tablo_recherche[$i].'%"))';
}
else {
$sql .= ' '.$operateur.' (prod_tbl.Texte LIKE "%'.$tablo_recherche[$i].'%" OR prod_tbl.Titre LIKE "%'.$tablo_recherche[$i].'%"))';
}
}
$sql .= ' ORDER BY prod_tbl.Titre ASC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;

$resultat = mysql_query($sql);
$nbenr = mysql_num_rows($resultat);

$resultats_obtenus = "";
while ($enr = mysql_fetch_array($resultat))
{
$Num = $enr['Num'];
$Titre = $enr['Titre'];
$Rea = $enr['Rea'];


$resultats_obtenus .='<SPAN class="antracite10-B"><A HREF="javascript:fiche('.$Num.')">' .$Titre.' &nbsp; </SPAN>
<SPAN class="noir10-B">'.$Rea.'</SPAN></a><br><br>';

}
mysql_free_result($resultat);
include ('../forum/includes/functions.php');
$barre_nav = barre_navigation($nbtotal, $nb_affichage_par_page, $_GET['debut'], '5');
}
}
?>
Peacock
le 16/11/2004 à 13:50
Affichage ORDER BY
Salut à tous,
Voila, pour ordonner les résultat suivant un champs
on fait ça :
$requete="SELECT Nom, Nom_Ang FROM gars_tbl WHERE id_gars='$numero' ORDER BY Nom_Ang";

MAis supposons, mo cas, où
je suis sur la page v. anglaise
et où j'affiche les Noms anglais Nom_Ang, si ils ont été renseigné, sans quoi, j'affiche les nom français Nom.
Y a-til un moyens pour "recouper" les résultats et que l'affichage, mélange d'anglais et de français s'ordonne par ordre alphabétique tout de même ??
Merci
Peacock
le 07/11/2004 à 18:17
PB télechargement Image
Bonsoir à tous,

En phase de tranfert d'un site finalisé, un blème surgit sur le nouvel hébergeur (different de l'hébergeur ou j'effectue mes test et ou tout marche), il s'agit de la partie téléchargement d'une image lors d'une nouvel entrée de fiche dans la base :

La partie du script où l'internaute va chercher l'image à télécharger :

<? echo "<FORM enctype=multipart/form-data  METHOD='POST' ACTION='ajouter_image.php'>";
$Titre_Bis=$Titre;
echo "<input type=hidden name=MAX_FILE_SIZE value='100000' >";
echo "<input type=file name='monfichier' ><br>
<input type='hidden' name='Titre_Bis' value=\"".$Titre_Bis."\">";
echo "<input type='submit' name='image_submit' value='Envoyer' >"; echo"</FORM>";
?>


Et la partie dans le fichier de réception ajouter_image.php:

(Le code posté par ce membre étant trop long, il a été automatiquement inséré dans le wall. Pour le voir, veuiller clicker sur [lien=http://www.lephpfacile.com/wall/lire_wall.php?wall=1821]ce lien[/lien])

Donc, tout va bien chez mon hébergeur et sur le nouveau j'ai droit à ce message :

Warning: copy(../images/photos/troisfois.jpg): failed to open stream: Permission denied in /home/xxxxxxx/html/gestion/ajouter_image.php on line 195

Et ligne 195, c'est celle-ci (ou du moins elle est contenue la dedans, plus exactement sur mon éditeur c'est ça $repertoireDestination.$nomDestination) :

if (copy($_FILES["monfichier"]["tmp_name"], 
$repertoireDestination.$nomDestination)) {

//enregistrement dans la base
$sql= "UPDATE `prod_tbl` SET `image_name` = '$nomDestination' , `img_chemin` = '$repertoireDestination' WHERE `Num` = '$Num' ";
mysql_db_query ($base , $sql , $id_lien) OR DIE ('Erreur :'.mysql_error());
}


C'est quoi le blème, le répertoire photo existe bel et bien, il est bien dans le dossier images.

Merci d'avance vous m'enlèverez une grosse épine du pied (dit-il, pris de panique...)
Peacock
le 26/10/2004 à 17:55
Télécharger la base ?
Un tit question, voire grosse :
y a-t-il un moyen
de télécharger la base au format texte via php
sans passer par phpMyAdmin.

Merci de m'aiguiller.
Peacock
le 26/10/2004 à 12:15
Fichier image
Bonjour,

Voila, j'ai un formulaire si dessous,
qui permet de télécharger un fichier image
(si le fichier déjà présent, il l'affiche)

(Le code posté par ce membre étant trop long, il a été automatiquement inséré dans le wall. Pour le voir, veuiller clicker sur [lien=http://www.lephpfacile.com/wall/lire_wall.php?wall=1781]ce lien[/lien])



Et ci-dessous le code de réception du
formulaire, qui vérifie si le formulaire
a été validé ('monfichier') et ensuite met
la base à jour en y insèrant le chemin du dossier
et le nom du fichier :

(Le code posté par ce membre étant trop long, il a été automatiquement inséré dans le wall. Pour le voir, veuiller clicker sur [lien=http://www.lephpfacile.com/wall/lire_wall.php?wall=1782]ce lien[/lien])


Mon problème ce sont ces lignes :
if (file_exists($repertoireDestination.$nomDestination)) 
{
// Un fichier existe portant le même nom existe déjà => le supprimer
unlink ($repertoireDestination.$nomDestination);


Ainsi, si quelqu'un charge une image qui porte le même nom qu'une déjà présente dans le dossier
elle écrasera la précédente, d'où petit problème...
Donc ma question, comment si le fichier existe le renommer et avec quelle méthode...

Merci
a+
Peacock
Peacock
le 19/10/2004 à 10:47
Envoi sessions cachée ?s
Salut à tous,

Le bout de code, ci-dessous envoie des variables de sessions :

<?php echo "<A HREF=admin1.php?modifier_prod=OK &.SID.'><SPAN class='turquoise9-B'>Modifier</SPAN></A> - "; php?>


Pas de pb, elles passent sauf qu'elles sont visibles, codés mais visibles, dans la barre d'état...

Y a un moyen autres de les faire passer par un lien ?

Merci
Peacock
le 12/10/2004 à 11:04
Cherche Exp Reg
Bonjour à tous,

Je cherche l'expression régulière qui
me permet de tester
que variable
$var != "Paulo" ,

je voudrais que l'exp reg considère
que, Paulo, ou PAULO, ou encore PauLO,
corresponde à Paulo,
quelle que soit la casse,
maj, min et mélange des
deux...

Merci à vous,
a+
Peacock

PS : Mojorisin, master of ExpReg,
si tu es par là...
Peacock
le 21/09/2004 à 20:12
Tableau
Salut à tous,

Question qui sent le putain-trop-de-base-la-question, mais je la pose, elle servira j'en suis sur
à quelqu'un...

Pour exemple, j'ai une table contenant dans un champs enum des noms de fruits, renseignée en français, pour la version anglaise je souhaite lors de l'affichage faire correspondre, le nom anglais, avec switch comme ci-dessous, ça marche très bien, mais je sens que pour éviter un switch énorme (ex : 200 fruits) il me faudrait passer par un tableau...
<?php
$resultat=mySql_db_query($base, $requete, $id_lien);
while($ligne=mysql_fetch_array($resultat))

{ echo "<SPAN class='noir10'>";

switch ($ligne[Fruit]) { case $ligne[Fruit]="mure" :
echo ("blackberry");
break;
case $ligne[Fruit]="citron" :
echo ("lemon");
break;
case $ligne[Fruit]="pomme" :
echo ("apple");
break; case $ligne[Fruit]="fraise" :
echo ("strawberry");
break;
}
php?>



Ma question est : quelqu'un pourrait -il m'aiguiller pour pour faire ce tableau ?
Merci à vous,
Peacock
Peacock
le 07/09/2004 à 10:21
Pb BBCode sur News v1
Bonjour à tous,

Un petit pb dans l'adaptation de DaNews version 1...
Téléchargée y a déjà un bail, adaptée graphiquement...
Le pb est au niveau du BB Code, lorsque j'inclus un lien, sur la news éditée le lien apparait avec des espaces, un généralement, ce qui rend l'adresse incorrecte;
exemple :
chezmoi.com devient chezm oi.com

A l'époque, j'ai pas pu décompressé l'archive de la v2 ( fichier endommagé)...

J'imagine que c'est une histoire d'exp reg, qui a dû être solutionnée dans la v2, étant donné que mon adaptation de la v1 est finalisée, quelqu'un pourrait il m'aider à corriger ce léger bug...

Merci
LoadingChargement en cours