Flux d’activité

Flux d’activité de Messages

  1. Riskbreaker


    Oui. Voilà, je précise que j'ai un peu changé le système et que maintenant, on peut uploader 4 images portant les noms : monimage_1.jpg, monimage_2.jpg, monimage_3.jpg et monimage_4.jpg.

    Dans lib/fonctions/fonctions.php :

    /*Fonction d'upload de fichiers */

    function upload($the_file, $nom, $i) { //- on ajoute les variables du formulaire que l'on veut intégrer dans le nom de l'image -

    global $the_path;

    $the_file_tmp = $the_file['tmp_name'];

    $the_file_name = $the_file['name'];

    $error = validate_upload($the_file); // Teste la validité du document

    $extension = substr($the_file_name, strrpos($the_file_name, "."));

    $the_new_file_name = $nom . "_" .$i.$extension; // Le fichier uploadé sera de la forme nom_1.jpg, nom_2.jpg, etc.

    if ($error) {

    return $error;

    } else { # cool, we can continue

    if (!move_uploaded_file($the_file_tmp, $the_path . $the_new_file_name)) {

    //form("\n<b>Quelques choses ne fonctionnent pas : vérifier le chemin de la variable $path et les permissions du répertoire /upload (il doit être en CHMOD777</b>");

    } else {

    chmod($the_path . $the_new_file_name, 0777);

    return $the_new_file_name;

    }

    }

    }

    Dans administrer/produits.php :

    if (empty($message_erreur)) {

    if (!empty($_FILES['image1']['name'])) {$img1 = upload($_FILES['image1'], $frm['nom'], $i=1);}

    if (!empty($_FILES['image2']['name'])) {$img2 = upload($_FILES['image2'], $frm['nom'], $i=2);}

    if (!empty($_FILES['image3']['name'])) {$img3 = upload($_FILES['image3'], $frm['nom'], $i=3);}

    if (!empty($_FILES['image4']['name'])) {$img4 = upload($_FILES['image4'], $frm['nom'], $i=4);}

    if (!empty($_FILES['pdf']['name'])) {$pdf = upload($_FILES['pdf'], $frm['nom'], $i=0);}

    et un peu plus loin, toujours dans administrer/produits.php :

    if (!empty($_POST['image1'])) {$img1 = $_POST['image1'];

    } else {

    if (!empty($_FILES['image1']['name'])) {$img1 = upload($_FILES['image1'], $frm['nom'], $i=1);}

    }

    if (!empty($_REQUEST['image2'])) {$img2 = $_POST['image2'];

    } else {

    if (!empty($_FILES['image2']['name'])) {$img2 = upload($_FILES['image2'], $frm['nom'], $i=2);}

    }

    if (!empty($_REQUEST['image3'])) {$img3 = $_POST['image3'];

    } else {

    if (!empty($_FILES['image3']['name'])) {$img3 = upload($_FILES['image3'], $frm['nom'], $i=3);}

    }

    if (!empty($_REQUEST['image4'])) {$img4 = $_POST['image4'];

    } else {

    if (!empty($_FILES['image4']['name'])) {$img4 = upload($_FILES['image4'], $frm['nom'], $i=4);}

    }

    if (!empty($_REQUEST['pdf'])) {$pdf = $_POST['pdf'];

    } else {

    if (!empty($_FILES['pdf']['name'])) {$pdf= upload($_FILES['pdf'], $frm['nom'], $i=0);}

    }

  2. Riskbreaker


    Oui, ça fonctionne, merci Daxey (désolé, je n'avais pas testé avant ce matin, trop pris dans la configuration du moteur de recherche en ajax ;) ).

    Comme dans mon cas, c'est une boutique de vins, je n'aurais besoin que d'une seule image par produit, donc le problème des images multiples ne se pose pas.

    C'est chouette, j'aurai bien toutes mes images comme : monvin.jpg

    Merci Daxey encore ;)

  3. sophie


    Merci pour la réponse ;)

    Ca c'est calmé depuis cette semaine... est ce parce que j'ai mis dans le message d'erreur qui s'affiche pour le client que c'était la faute à Lycos lollllll ???

    Pour l'hébergement je verrais avec Cyril car c'est plus son domaine, mais bon il paie déjà pour ça, il pourrait y avoir un minimum au moins de la part de Lycos.

    Bonne journée

    Sophie

  4. noya_m


    Bonjour,

    ci joint la table :

    CREATE TABLE `ratings2` (

    `id` varchar(11) collate utf8_unicode_ci NOT NULL default '',

    `total_votes` int(11) NOT NULL default '0',

    `total_value` int(11) NOT NULL default '0',

    `used_ips` longtext collate utf8_unicode_ci NOT NULL

    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

    ****************************

    page config-rating.php

    exemple:

    $rating_dbhost = 'localhost';

    $rating_dbuser = 'root';

    $rating_dbpass = '';

    $rating_dbname = 'produits_bretons';

    $rating_tableName = 'ratings2';

    $rating_path_db = 'http://localhost/00_produitbreton/achat/modeles/';

    $rating_path_rpc = 'http://localhost/00_produitbreton/achat/modeles/';

    ****************************

    voir en bas de cette page

    <?php

    function rating_bar($id,$units='',$static='') {

    require('_config-rating.php'); // get the db connection info

    //set some variables

    $ip = $_SERVER['REMOTE_ADDR'];

    if (!$units) {$units = 10;}

    if (!$static) {$static = FALSE;}

    // get votes, values, ips for the current rating bar

    $query=mysql_query("SELECT total_votes, total_value, used_ips FROM $rating_dbname.$rating_tableName WHERE id='$id' ")or die(" Error: ".mysql_error());

    // insert the id in the DB if it doesn't exist already

    // see: http://www.masugadesign.com/the-lab/script...ar/#comment-121

    if (mysql_num_rows($query) == 0) {

    $sql = "INSERT INTO $rating_dbname.$rating_tableName (`id`,`total_votes`, `total_value`, `used_ips`) VALUES ('$id', '0', '0', '')";

    $result = mysql_query($sql);

    }

    $numbers=mysql_fetch_assoc($query);

    if ($numbers['total_votes'] < 1) {

    $count = 0;

    } else {

    $count=$numbers['total_votes']; //how many votes total

    }

    $current_rating=$numbers['total_value']; //total number of rating added together and stored

    $tense=($count==1) ? "vote" : "votes"; //plural form votes/vote

    // determine whether the user has voted, so we know how to draw the ul/li

    $voted=mysql_num_rows(mysql_query("SELECT used_ips FROM $rating_dbname.$rating_tableName WHERE used_ips LIKE '%".$ip."%' AND id='".$id."' "));

    // now draw the rating bar

    $rating_width = @number_format($current_rating/$count,2)*$rating_unitwidth;

    $rating1 = @number_format($current_rating/$count,1);

    $rating2 = @number_format($current_rating/$count,2);

    if ($static == 'static') {

    $static_rater = array();

    $static_rater[] .= "\n".'<div class="ratingblock">';

    $static_rater[] .= '<div id="unit_long'.$id.'">';

    $static_rater[] .= '<ul id="unit_ul'.$id.'" class="unit-rating" style="width:'.$rating_unitwidth*$units.'px;">';

    $static_rater[] .= '<li class="current-rating" style="width:'.$rating_width.'px;">Currently '.$rating2.'/'.$units.'</li>';

    $static_rater[] .= '</ul>';

    $static_rater[] .= '<p class="static">'.$id.'. Rating: <strong> '.$rating1.'</strong>/'.$units.' ('.$count.' '.$tense.' cast) <em>This is \'static\'.</em></p>';

    $static_rater[] .= '</div>';

    $static_rater[] .= '</div>'."\n\n";

    return join("\n", $static_rater);

    } else {

    $rater ='';

    $rater.='<div class="ratingblock">';

    // $rater.=($count==1) ? "Soyez le 1 er a mettre une note a ce produit" : "Votez"; //plural form votes/vote

    $rater.='<div id="unit_long'.$id.'">';

    $rater.=' <ul id="unit_ul'.$id.'" class="unit-rating" style="width:'.$rating_unitwidth*$units.'px;">';

    $rater.=' <li class="current-rating" style="width:'.$rating_width.'px;">Currently '.$rating2.'/'.$units.'</li>';

    for ($ncount = 1; $ncount <= $units; $ncount++) { // loop from 1 to the number of units

    if(!$voted) { // if the user hasn't yet voted, draw the voting stars

    $rater.='<li><a href="http://localhost/00_produitbreton/achat/modeles/db.php?j='.$ncount.'&q='.$id.'&t='.$ip.'&c='.$units.'" title="'.$ncount.' out of '.$units.'" class="r'.$ncount.'-unit rater" rel="nofollow">'.$ncount.'</a></li>';

    }

    }

    $ncount=0; // resets the count

    $rater.=' </ul>';

    $rater.=' <p';

    if($voted){ $rater.=' class="voted"'; }

    $rater.='> Résultat : <strong> '.$rating1.'</strong>/'.$units.' ('.$count.' '.$tense.' )';

    $rater.=' </p>';

    $rater.='</div>';

    $rater.='</div>';

    return $rater;

    }

    }

    ?>

    voila

  5. Riskbreaker


    Bonjour,

    J'avais remarqué que lorsque deux mots clefs sont insérés dans le champ de recherche de haut.php, ces deux mots doivent obligatoirement figurer dans le même champ d'une table pour être appelés.

    Se posait alors un gros problème.

    Exemple :

    vous voulez ajouter 3 produits : voiture rouge, voiture bleue et voiture verte.

    Le terme "voiture" figurant dans le champ "nom" et la couleur dans un champ "couleur" que vous auriez créé auparavant.

    Une recherche avec le terme voiture vous aurait affiché les 3 réponses possibles alors qu'une recherche comme "voiture rouge" ne vous aurait renvoyé aucun résultat.

    J'ai donc travaillé un peu sur ce problème, et je vous donne ici la solution :

    Dans recherche.php,

    remplacez :

    $resultat = mysql_query("SELECT id, reference, nom FROM peel_produits WHERE etat = '1' AND nom LIKE '%" . addslashes($_GET['motclef']) . "%' OR descriptif LIKE '%" . addslashes($_GET['motclef']) . "%' LIMIT $start,$nb");

    Par :

    $recherche=strtolower($motclef);

    $mots = str_replace("+", " ", trim($recherche));

    $mots = str_replace("\"", " ", $mots);

    $mots = str_replace(",", " ", $mots);

    $mots = str_replace(":", " ", $mots);

    $recherche=rawurlencode($recherche);

    $tab=explode(" " , $mots);

    $count=count($tab);

    $sql="select id, reference, nom from peel_produits where etat='1' and ( reference like \"%$tab[0]%\" or nom like \"%$tab[0]%\" ) ";

    for($i=1 ; $i<$count; $i++)

    {

    $sql.="AND ( reference like \"%$tab[$i]%\" or nom like \"%$tab[$i]%\" )";

    }

    $resultat = mysql_query($sql);

    et

    $$result=mysql_query("SELECT COUNT(*) FROM peel_produits WHERE nom LIKE '%" . addslashes($_GET['motclef']) . "%' ");

    $row=mysql_fetch_row($result);

    Par

    $req = mysql_query($sql);

    $row = mysql_numrows($req);

    L'astuce se déroule ainsi :

    1 - on met en minuscule les termes entrés dans le formulaire

    2 - on remplace tous les caractères '+', '\', ',' et ':' par un espace.

    3 - on place les différents mots dans un tableau grâce à la fonction "explode".

    4 - Pour chaque terme entré, on regarde s'il se situe dans les champs "reference" ou "nom"

    5 - on renvoie la requête.

    Voilà, en espérant vous avoir été utile ;)

  6. INFORMATIQUE13


    J'avais eu ce genre de bug aussi, mais effectivement c'est l'équipe peel qui me l'avait corrigé... Et je ne crois pas car je viens de rechercher sur le forum, que la solution se trouve ici, sauf erreur de ma part...

    Oui c'ts aussi l'quipe de peel qui me l'avais corrigé... Je vais les contacter, merci d'avoir pris de ton temps pour mon probleme ;)

Twitter Advisto ecommerce

Facebook PEEL Shopping