Aller au contenu

Chandon

Webmaster Régulier
  • Compteur de contenus

    67
  • Inscrit(e) le

  • Dernière visite

Messages postés par Chandon

  1. Merci pour vos réponses.

    Oui, la base fait quasiment 200Mo

    Concernant infomaniak, j'ai effectivement vu cette offre, avec 50Go d'espace et des sauvegardes quotidiennes, mais ça me semble trop top :lol:

    SpeedAirMan tu tournes à combien de visites/jour sans indiscretion ? histoire de voir si mon forum est dans les mêmes eaux.

    Peut on utiliser bigdump ?

  2. Bonjour à tous.

    Je suis actuellement sur celeonet pro (500Mo) en mutualisé.

    J'ai de manière réccurente des soucis de ralentissement, apparement sans solution côté hébergeur, et un gros besoin de place.

    Je me demande si je ne vais pas changer d'hébergeur, mais je ne sais pas trop où regarder, donc vos conseils sont les bienvenus.

    Voilà mes contraintes :

    - budget max annuel : 250 euros (site perso)

    - 1000 visites/jour, 10.000 pages vues/jour, en augmentation constante.

    - bdd de 200Mo

    - forum invisionboard

    - besoin de pouvoir remonter facilement ma bdd de local vers le site.

    - besoin de place de stockage (site de plantes, donc beaucoup de photos.

    Que me conseilleriez vous ?

    Actuellement le site (fiches de plantes, etc...) et le forum sont sur la même base.

    Le fait de les dissocier sur 2 bases différentes permettrait t'il de 'gagner' en ressources ?

  3. Bonjour à tous,

    J'essaye de gérer une petite liste de liens persos en intranet.

    Chacun va pouvoir ajouter les pages qu'il souhaite, et j'aimerai qu'il puisse changer à volonté le titre de ces liens et leur ordre.

    J'ai donc fait un petit script pour permettre de faire une telle modif, mais je bloque lorsqu'il s'agit de récupérer les valeurs transmises une fois les changements souhaités envoyés.

    Exemple : un utilisateur a 7 liens.

    Sur la page de modif ça lui affiche la liste de ses liens, et à chacun un select déroulant indiquant son ordre (stocké en bdd), avec donc possibilité de changer celui-ci :

    // recup du dernier numero de tri affecté
    $sqlmax="SELECT max(ordre) AS nbmax FROM favoris WHERE src_id_user='".$_SESSION['id']."'";
    $resultmax=mysql_query($sqlmax);
    $resultatmax=mysql_fetch_array($resultmax, MYSQL_ASSOC);
    $nbmax=$resultatmax["nbmax"];

    print '<form method="POST" action="'.$_SERVER['PHP_SELF'].'">
    <ul>';
    while($resultat=mysql_fetch_array($result, MYSQL_ASSOC)){
    print '<li><input type="text" name="favori'.$resultat['id_favori'].'" value="'.$resultat['titre_favori'].'" size="30">
    <select size="1" name="ordre'.$resultat['id_favori'].'">';
    // liste de tri
    $i=1;
    for($i; $i<=$nbmax; $i++){
    print '<option value="'.$i.'"';
    if($i==$resultat['ordre'])echo ' selected';
    print '>'.$i.'</option>';
    }
    print '</select></li>';
    } // fin while
    print '</ul>
    <input type="hidden" name="param" value="tri" />
    <input type="hidden" name="act" value="mod" />
    <input type="submit" name="submit" value="Valider" />
    </form>';

    Quand le script se lance, comment faire pour récupérer des valeurs dont on ne sait pas par avance combien il y en aura ?

    ex : favori1 aura tel titre et aura la position ordre1

    ainsi de suite jusqu'au favori7 dans ce cas.

    J'avais fait une boucle pour tenter de récup les valeurs, mais bien sur ça ne marche pas.

    	$sqlmax="SELECT max(ordre) AS nbmax FROM favoris WHERE src_id_user='".$_SESSION['id']."'";
    $resultmax=mysql_query($sqlmax);
    $resultatmax=mysql_fetch_array($resultmax, MYSQL_ASSOC);
    $nbmax=$resultatmax["nbmax"];
    $i=1;
    for($i; $i<=$nbmax; $i++){
    $favori.$i=$_POST['favori'.$i];
    print $favori.$i;
    }

    Vous avez une idée ?

    Merci de votre aide.

  4. Membre 1 : 1 fiche dont 1 visible :

    Votre collection :SELECT src_id_spec,members_display_name FROM base,ibf_members WHERE ibf_members.id=base.src_id_member AND src_id_member='1'

    Le membre Chandon a 1 specimens dans sa liste.

    Membre 39 : 2 fiches dont 1 visible :

    SELECT src_id_spec,members_display_name FROM base,ibf_members WHERE ibf_members.id=base.src_id_member AND src_id_member='39' AND valid='on'

    Le membre maaagikk a 2 specimens dans sa liste.

  5. Oui, j'en suis sûr car j'ai ajouté une petite phrase du genre 'ceci est votre collection' si on effectue la requete 1 ($access_full=='ok')

    Or elle s'affiche ou non correctement en fonction de l'appel (confirmé par l'affichage de la requete sql dans la page).

    Je ne comprends vraiment pas ... :(

  6. Bonjour à tous,

    Besoin d'aide pour un select que je n'arrive pas à faire marcher.

    J'ai 2 tables, une contenant entre autres le nom des membres (ibf_members), une autre contenant une liste de plantes (base), définies par certains critères, et en particulier si la fiche est visible ou non par les autres (champ 'valid' issu d'un checkbox, valeur 'on' ou vide).

    Je cherche à faire un select permettant, si le membre regarde sa liste ou celle des autres, que celle ci n'affiche bien sûr que les fiches 'autorisées' (champ valid=on)

    Seulement, ma requete ne semble pas prendre en compte ce champ.

    Pouvez vous me dire ce qui coince ?

    Merci de votre aide

    La requête :

    if($access_full=='ok'){ // si c'est la collec du membre
    $sql="SELECT src_id_spec,members_display_name FROM base,ibf_members WHERE ibf_members.id=base.src_id_member AND src_id_member='".$membre."'";
    }
    else{ // sinon si c'est une autre collec
    $sql="SELECT src_id_spec,members_display_name FROM base,ibf_members WHERE ibf_members.id=base.src_id_member AND src_id_member='".$membre."' AND valid='on'";
    }

    Dans ma base de test, un membre a 2 fiches, une avec valid=on, une autre avec valid vide.

    La requête devrait donc retourner 2 enregistrements si c'est le membre qui consulte sa fiche, et 1 enregistrement si c'est un autre membre qui visite cette même fiche.

    Là, dans les 2 cas, il est retourné les 2 enregistrements.

    A toutes fins utiles, le champ 'valid' est défini en CHAR(3) dans la base.

  7. Damned !!!

    merci, j'essaye tout de suite en modifiant carrément le nom de ma colonne...

    edit : super, ça marche au poil :)

    Mieux vaut un qui sait que un qui cherche :lol:

    Merci encore.

  8. Bonjour à tous,

    J'essaye désespérément d'effectuer un update sur une table, mais celui-ci ne fonctionne pas.

    Voilà ce qu'il m'indique :

    Erreur SQL ! UPDATE base SET src_id_fam = '2', src_id_genre = '8', src_id_spec = '1', actif = 'on', temp = '5', valid = 'on', syn = '', desc = 'desc' WHERE id_base = 1
    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 'desc = 'desc' WHERE id_base = 1' at line 3

    Si j'enlève la partie desc='desc', l'update fonctionne...

    Structure de ma table :

    CREATE TABLE base (
    id_base int(11) NOT NULL auto_increment,
    src_id_fam int(11) NOT NULL,
    src_id_genre int(11) NOT NULL,
    src_id_spec int(11) NOT NULL,
    src_id_member int(11) NOT NULL,
    syn varchar(255) collate latin1_general_ci NOT NULL,
    actif char(3) collate latin1_general_ci NOT NULL,
    temp int(11) NOT NULL,
    `desc` longtext collate latin1_general_ci NOT NULL,
    origine varchar(255) collate latin1_general_ci NOT NULL,
    url_photo1 varchar(255) collate latin1_general_ci NOT NULL,
    url_photo2 varchar(255) collate latin1_general_ci NOT NULL,
    url_photo3 varchar(255) collate latin1_general_ci NOT NULL,
    date_ajout datetime NOT NULL,
    valid char(3) collate latin1_general_ci NOT NULL,
    PRIMARY KEY (id_base)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

    Code de ma requête :

    $sql="UPDATE base 
    SET src_id_fam = '$famille', src_id_genre = '$genre', src_id_spec = '$espece', actif = '$actif',
    temp = '$temp', valid = '$valid', syn = '$syn'
    WHERE id_base = $spec";
    mysql_query($sql) or die("<b>Erreur SQL !</b> ".$sql."<br>".mysql_error());

    Je n'y comprends plus rien..

    Merci de votre aide :)

  9. Bonjour à tous,

    Je me lance dans le bain d'ajax...

    J'essaye d'adapter le script d'ici http://siddh.developpez.com/articles/ajax/

    pour le transformer non pas en 2 listes liées, mais 3...

    J'ai essayé d'abord avec 2, ça fonctionne au poil.

    J'ai voulu imbriquer une troisième, et là ça merdoie.

    Pouvez vous m'indiquer où j'ai coincé ?

    J'ai 3 tables : famille, genre, espece

    famille : id_fam et nom_famille

    genre : id_genre, src_id_fam et nom_genre

    espece : id_spec, src_id_genre et nom_espece

    Ensuite 3 fichiers :

    species.php

    <html>
    <head>
    <title>test Ajax (XHTML + JavaScript + XML)</title>
    <script type='text/javascript'>

    function getXhr(){
    var xhr = null;
    if(window.XMLHttpRequest) // Firefox et autres
    xhr = new XMLHttpRequest();
    else if(window.ActiveXObject){ // Internet Explorer
    try {
    xhr = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    }
    else { // XMLHttpRequest non supporté par le navigateur
    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
    xhr = false;
    }
    return xhr;
    }

    /**
    * Méthode qui sera appelée sur le click du bouton
    */
    function go(){
    var xhr = getXhr();
    // On défini ce qu'on va faire quand on aura la réponse
    xhr.onreadystatechange = function(){
    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    if(xhr.readyState == 4 && xhr.status == 200){
    leselect = xhr.responseText;
    // On se sert de innerHTML pour rajouter les options a la liste
    document.getElementById('genre').innerHTML = leselect;
    }
    }

    // Ici on va voir comment faire du post
    xhr.open("POST","ajax.php",true);
    // ne pas oublier ça pour le post
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    // ne pas oublier de poster les arguments
    // ici, l'id de l'auteur
    sel = document.getElementById('famille');
    id_fam = sel.options[sel.selectedIndex].value;
    xhr.send("id_fam="+id_fam);
    }
    function go2(){
    var xhr = getXhr2();
    // On défini ce qu'on va faire quand on aura la réponse
    xhr.onreadystatechange = function(){
    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    if(xhr.readyState == 4 && xhr.status == 200){
    leselect = xhr.responseText;
    // On se sert de innerHTML pour rajouter les options a la liste
    document.getElementById('genre').innerHTML = leselect;
    }
    }

    // Ici on va voir comment faire du post
    xhr.open("POST","ajax2.php",true);
    // ne pas oublier ça pour le post
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    // ne pas oublier de poster les arguments
    // ici, l'id de l'auteur
    sel = document.getElementById('genre');
    id_genre = sel.options[sel.selectedIndex].value;
    xhr.send("id_genre="+id_genre);
    } </script>
    </head>
    <body>
    <form>
    <fieldset>
    <legend>Liste liées</legend>
    <label>Famille</label>
    <select name='famille' id='famille' onchange='go()'>
    <option value='-1'>Aucun</option>
    <?
    include ("connexion.php");
    $res = mysql_query("SELECT * FROM famille ORDER BY nom_famille");
    while($row = mysql_fetch_assoc($res)){
    echo "<option value='".$row["id_fam"]."'>".$row["nom_famille"]."</option>";
    }
    ?>
    </select>
    <label>Genre</label>
    <div id='genre' style='display:inline'>
    <select name='genre'>
    <option value='-1'>Choisir un genre</option>
    </select>

    <label>Espece</label>
    <div id='espece' style='display:inline'>
    <select name='espece'>
    <option value='-1'>Choisir une espece</option>
    </select>
    </div>
    </fieldset>
    </form>
    </body>
    </html>

    ajax.php, pour la construction de la liste des genres

    <?php
    echo "<select name='genre' id='genre' onchange='go2()'>>";
    if(isset($_POST["id_fam"])){
    include ("connexion.php");
    $res = mysql_query("SELECT * FROM genre
    WHERE src_id_fam=".$_POST["id_fam"]." ORDER BY nom_genre");
    while($row = mysql_fetch_assoc($res)){
    echo "<option value='".$row["id_genre"]."'>".$row["nom_genre"]."</option>";
    }
    }
    echo "</select>";
    ?>

    et ajax2.php, pour la construction deslistes des espèces

    <?php
    echo "<select name='espece'>";
    if(isset($_POST["id_genre"])){
    include ("connexion.php");
    $res = mysql_query("SELECT * FROM espece
    WHERE src_id_genre=".$_POST["id_genre"]." ORDER BY nom_espece");
    while($row = mysql_fetch_assoc($res)){
    echo "<option value='".$row["id_spec"]."'>".$row["nom_espece"]."</option>";
    }
    }
    echo "</select>";
    ?>

    Merci de votre aide !

  10. Bonjour à tous,

    Je viens vers vous pour glaner des conseils avisés :)

    Je gère actuellement un site amateur sur celeonet (turbo) en mutualisé.

    Environ 1000 visites/jour, 500Mo de données (dont 85Mo de bases), 350.000 pages vues en septembre.

    Un forum invision, et pas mal de photos.

    Tout ça commence à tirer la langue (place, ressources, etc...)

    J'envisage de changer, oui mais pour quoi ?

    Mes finances sont limitées (ce n'est pas un site qui rapporte), et je ne sais pas gérer un dédié.

    Dois je envisager de changer sur une offre plus conséquente chez celeonet ou changer d'hébergeur ? Le jeu en vaut il la chandelle ? Car si je change tout pour me retrouver dans les mêmes affres...

    Merci de vos avis :)

  11. Bonjour à tous,

    En quelques mots, la situation.

    J'utilise wordpress, et j'ai activé le plug-in permettant de gérer du php dans des pages spéciales (exec-php).

    Wordpress est en UTF-8, ses bases également d'après ce que j'ai compris.

    J'essaye d'utiliser 2 tables importées, que j'ai copiées dans la base mysql de wordpress.

    Les accents à l'intérieur de ces tables sont sous la forme 'standard' éèà...

    Lorsque j'affiche les champs 'texte' ou que je veux faire des requêtes sql de ces tables dans ma page wordpress, évidemment les accents merdouillent et m'affichent des ?, vu que le charset de ma page wordpress est en UTF-8.

    Après quelques recherches ici et sur le net, il m'est apparu 2 'solutions' :

    - soit changer le charset de mes 2 tables en UTF-8

    - soit appliquer un 'filtre' lors de mes requêtes pour convertir le résultat.

    Je préfèrerai la première soluce, mais faut il alors que je convertisse 'à la main' les accents déjà présents dans les enregistrements ?

    Par ailleurs, impossible de trouver dans phpmyadmin l'endroit pour modifier ce maudit charset des tables. Puis je le faire uniquement sur 2 tables ?

    J'utilise phpMyAdmin - 2.9.2 et MySql 4.0.21 (mac)

    Merci de vos conseils et avis éclairés :)

  12. Bonjour à tous,

    Je fais sur mon site une visite virtuelle d'un parc, et j'utilise le code

    <area shape="poly" coords="88,217,91,370,172,371,147,275" href="id_parc=2" title="Vers le puits et le bûcher">

    Tout fonctionne parfaitement.

    J'aimerai visualiser les zones réactives, afin de vérifier si elles sont correctes. J'ai donc essayé de rajouter le code style="border:1px dotted #000000;" dans la balise area, mais sans succès (ffx 2.0.0.6)

    Y a t'il une astuce pour celà ou est ce impossible ?

    Merci de vos réponses.

  13. Bonjour à tous,

    Je pose peut être une question idiote, mais...

    Est il possible, sur une même page html, de mettre un texte (en l'occurence une présentation succinte du site) en plusieurs langues, par exemple français, arabe, russe, chinois... ?

    Bien sûr sans passer par le biais d'images, mais bien de texte.

    Merci de votre aide.

  14. Hello, perso j'utilise awstats, googleanalytics et xiti gratuit.

    A mon avis ce qui est interessant dans els outils c'est les petits plus ou moins par exemple :

    Xiti :

    la version gratuite est limitée en nombre de sites et de trafic

    Je n'ai plus trouvé notion de limitation pour le compte gratuit, peux tu me préciser la source ?

    PS : jarod, dommage qu'on ne puisse pas laisser nos propres avis sur ces outils...

  15. Bonjour à tous,

    Voilà, j'ai fait une déclinaison web d'un site pro pour les terminaux mobiles en xhtml strict.

    J'ai découvert le très intéressant site pc.dev.mobi, qui comporte entre autres un outil de test du site mobile.

    Je m'en vais le tester, et j'obtiens une note de 3 sur 5.

    http://mr.dev.mobi/results2.jsp?uri=http:/...s.marseille.fr/

    Entre autres, un avertissement sur la fonction 'cache', qu'il est conseillé d'activer pour les terminaux mobiles, histoire de ne pas avoir à recharger à chaque fois les images redondantes, etc.

    Seulement, je n'arrive pas à trouver des infos concernant le code à mettre dans mes en-têtes.

    Est ce que le code :

    <meta http-equiv="Cache-Control" CONTENT="public" />

    est suffisant ? J'aurais bien aimé lui adjoindre une durée de vie d'environ 10mn, mais je ne trouve pas sur le net d'exemples concrets.

    Si vous pouviez m'indiquer un code valide pour mon cas, ça m'aiderait grandement !

    Merci à vous :)

    2e petite question :

    Dans le cadre de stats de visite, j'utilise xiti. Ils ont développé un code xhtml, que j'ai voulu utiliser, mais qui apparement n'est pas géré par les terminaux mobiles (aucune trace de visites sur la partie mobile avec ce code).

    J'ai donc été obligé de me 'rabattre' sur le code en html, mais qui du coup me fait perdre la validation en xhtml strict.

    Une idée pour contourner le problème ? (à part changer de marqueur de stats :rolleyes: )

  16. Merci pour les infos, bonnes pistes :)

    Sinon, j'ai adapté ce script, pouvez vous me dire si ça pourrait faire également l'affaire ?

    <?
    // récup des paramètres du navigateur
    $useragent=$_SERVER["HTTP_USER_AGENT"];

    // page par défaut (mobile)
    $urlmobile="mobile/index.php";

    // Appareil mobile et autres
    if (preg_match("(DoCoMo/1.0|DoCoMo/2.0|portalmmm/1.0|portalmmm/2.0|ACER|Alcatel|AnnyWay|AUDIOVOX|BlackBerry|CDM|Ericsson|LG\b|LGE|Motorola|MOT-|NEC|Nokia|Panasonic|QCI|SAGEM|SAMSUNG|SEC-|Sanyo|Sendo|SHARP|SIE-|SonyEricsson|Telit|Telit_Mobile_Terminals|TSM)",$useragent)){
    header ("location: ".$urlmobile);
    }

    if (preg_match("(PluckerPalm|RegKing|EPOC|PalmOS|KDDI|EZOS|Zaurus C750|SPV C500|hspr-H102|UPG1|Wapagsim|J-PHONEKGT/|UP.Link|Symbian)",$useragent)){
    header ("location: ".$urlmobile);
    }

    // Résolution d'appareil nomade PDA, PALM...
    if (preg_match("(240x320|160x160|176x220|320x320|480x640)",$useragent)){
    header ("location: ".$urlmobile);
    }

    // Navigateur des PDA, PALM etc...
    if (preg_match("(AvantGo 3.2|EudoraWeb 2.1|UP.Browser|Plucker|PalmSource|NetFront/3.0|Xiino/1.0.9E|Elaine/3.0|Pixo-Browser)",$useragent)){
    header ("location: ".$urlmobile);
    }

    ?>

  17. Bonjour à tous,

    Je viens de terminer un site pro, sur lequel j'ai ajouté une partie pour les téléphones mobiles et pda.

    Ce que j'aimerai faire, c'est une redirection à partir de la page d'accueil du site web, vers la partie spécifique au mobiles.

    ex : le site web : http://planetejeunes.marseille.fr

    la partie mobile : http://planetejeunes.marseille.fr/planete/mobile

    C'est super long à taper sur un tel portable, c'est clair !

    J'aurai préféré avoir une adresse spécifique pour les mobiles, mais ce n'est pas possible, d'où le choix de s'orienter vers ce script de détection, en fonction du user-agent.

    Donc, je vous remercie de me donner des pistes de script, si vous en avez vous même utilisé, et quelles sont les limitations ?

    D'autre part, la partie mobile est en xhtml strict. Faut il, pour m'assurer de la compatibilité maximum, utiliser le xhtml-mp ? Qu'en pensez vous ?

    Et enfin (oui, c'est fini après), je compte mettre également des vidéos : le format .3gp est il reconnu par la majorité de mobiles ? Et quel est la taille maxi supportée ???

    Merci de votre aide :)

×
×
  • Créer...