Problème de compteur!

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème de compteur!

par toutoos » 13 juin 2008, 08:48

J'ai jamais di quelle ne servait a rien jai juste dit qu'elle était toujour bètes!

Les erreures servent a progresser donc on peu po dire kelle servent a rien car personne sait tout!

puis belle initiative mais je n'ai pas lintention de passer ma vie dans la programmation mais je préfèere réaliser mon rève a garder la programmation un bon petit passe temps!

donc voila merci pour tout les gens!

par animithra » 12 juin 2008, 19:39

Les erreurs sont utiles elles nous permettent d'apprendre ;)
Ma facon de programmer est mienne ( toujour un peu bordelik je lavou ) mais je mi retourve parfaitement la preuve toues mes autres erreures je les ai trouver!
Oui sauf que là tu as un penchant égoïste qui exclus la possibilité qu'un jour quelqu'un passe derrière ton code.

Si un jour tu travailles en entreprise et que tu codes comme ça, je peux te dire que tu auras de la chance si ton supérieur ne te dit rien.

Si tu fouilles sur les forums tu y verras une excellente signature :
Il faut toujours coder en pensant que celui qui passera après est un psychopathe qui connait ton adresse
Cela ne prend pas beaucoup de temps de faire un peu de refactoring et d'avoir un code clair et concis.

L'avantage, c'est que ça développe ta logique - et le jour où tu attaqueras la progra objet tu comprendras comme c'est utile.

Autre point, le jour où ton programme sera plus conséquent, ou dans le cas où plusieurs personnes seront connectées au même moment, tu économiseras plus de ressources en faisant un code concis.

Bonne continuation et bonne progra !

[EDIT] ET TAG EN RESOLU !

par toutoos » 12 juin 2008, 16:50

Daccord!

Il ne faut tout simplement pas donner deux fois le m^me nom de variables a deux application totalement diférente et surtout bien suivre l'algorigramme!!!

Car plustot que de faire sesi :

Code : Tout sélectionner

//////////////////////////////////////////////////////// // On prépare le comparateur pour les nouveau sites // //////////////////////////////////////////////////////// $time = time(); $semaine = 60*60*24*7; $date = $time - $semaine; $recherchenb = "SELECT * FROM `annuaire`"; $rechercheresult = "SELECT * FROM `annuaire`"; /////////////////////////////////////////// // Si on est dans une recherche simple // /////////////////////////////////////////// if ( $_GET['post'] ) { if ( $moteur == 'Simple' ) { if ( $recherche AND $categorie ) { $page_error = '2'; } else if ( $recherche ) { $recherchenb .= " WHERE `titre` like '%".$recherche."%' ".$algorithme." `description` like '%".$recherche."%'"; } else if ( $categorie ) { $recherchenb .= " WHERE `categorie` like '%".$categorie."%'"; } $resultnb = @mysql_query($recherchenb); $nbresult = @mysql_num_rows($resultnb); if ( $recherche AND !$categorie ) { $rechercheresult .= " WHERE `titre` like '%".$recherche."%' ".$algorithme." `description` like '%".$recherche."%'"; } else if ( $categorie AND !$recherche ) { $rechercheresult .= " WHERE `categorie` like '%".$categorie."%'"; } $rechercheresult .= " ORDER BY `".$ordre."` DESC LIMIT ".$limite.",".$limit; $result = @mysql_query($rechercheresult); } if ( $moteur == 'Avance' ) { if ( $recherche AND $categorie ) { $recherchenb .= " WHERE `titre` like '%".$recherche."%' ".$algorithme." `description` like '%".$recherche."%' ".$algorithme." `categorie` like '%".$categorie."%'"; } else if ( $recherche AND !$acategorie ) { $recherchenb .= " WHERE `titre` like '%".$recherche."%' ".$algorithme." `description` like '%".$recherche."%'"; } else if ( $categorie AND !$recherche ) { $recherchenb .= " WHERE `categorie` like '%".$categorie."%'"; } $resultnb = @mysql_query($recherchenb); $nbresult = @mysql_num_rows($resultnb); if ( $recherche AND $categorie ) { $rechercheresult .= " WHERE `titre` like '%".$recherche."%' ".$algorithme." `description` like '%".$recherche."%' ".$algorithme." `categorie` like '%".$categorie."%'"; } else if ( $recherche AND !$acategorie ) { $rechercheresult .= " WHERE `titre` like '%".$recherche."%' ".$algorithme." `description` like '%".$recherche."%'"; } else if ( $categorie AND !$recherche ) { $rechercheresult .= " WHERE `categorie` like '%".$categorie."%'"; } $rechercheresult .= " ORDER BY `".$ordre."` DESC LIMIT ".$limite.",".$limit; $result = @mysql_query($rechercheresult); } } else { $recherchenb .= " ORDER BY rand() LIMIT 5"; $resultnb = @mysql_query($recherchenb); $nbresult = @mysql_num_rows($resultnb); $rechercheresult = $recherchenb; $result = @mysql_query($rechercheresult); } $recherchetotal = "SELECT * FROM `annuaire`"; $resulttt = mysql_query($recherchetotal); $nbtotal = mysql_num_rows($resulttt); }
Il falait tout simplement faire :

Code : Tout sélectionner

//////////////////////////////////////////////////////// // On prépare le comparateur pour les nouveau sites // //////////////////////////////////////////////////////// $time = time(); $semaine = 60*60*24*7; $date = $time - $semaine; $recherchenb = "SELECT * FROM `annuaire`"; $rechercheresult = "SELECT * FROM `annuaire`"; /////////////////////////////////////////// // Si on est dans une recherche simple // /////////////////////////////////////////// if ( $recherche OR $categorie ) { if ( $moteur == 'Simple' ) { if ( $recherche AND $categorie ) { $page_error = '2'; } else if ( $recherche ) { $recherchenb .= " WHERE `titre` like '%".$recherche."%' ".$algorithme." `description` like '%".$recherche."%'"; } else if ( $categorie ) { $recherchenb .= " WHERE `categorie` like '%".$categorie."%'"; } $resultnb = @mysql_query($recherchenb); $nbresult = @mysql_num_rows($resultnb); if ( $recherche AND !$categorie ) { $rechercheresult .= " WHERE `titre` like '%".$recherche."%' ".$algorithme." `description` like '%".$recherche."%'"; } else if ( $categorie AND !$recherche ) { $rechercheresult .= " WHERE `categorie` like '%".$categorie."%'"; } $rechercheresult .= " ORDER BY `".$ordre."` DESC LIMIT ".$limite.",".$limit; $result = @mysql_query($rechercheresult); } if ( $moteur == 'Avance' ) { if ( $recherche AND $categorie ) { $recherchenb .= " WHERE `titre` like '%".$recherche."%' ".$algorithme." `description` like '%".$recherche."%' ".$algorithme." `categorie` like '%".$categorie."%'"; } else if ( $recherche AND !$acategorie ) { $recherchenb .= " WHERE `titre` like '%".$recherche."%' ".$algorithme." `description` like '%".$recherche."%'"; } else if ( $categorie AND !$recherche ) { $recherchenb .= " WHERE `categorie` like '%".$categorie."%'"; } $resultnb = @mysql_query($recherchenb); $nbresult = @mysql_num_rows($resultnb); if ( $recherche AND $categorie ) { $rechercheresult .= " WHERE `titre` like '%".$recherche."%' ".$algorithme." `description` like '%".$recherche."%' ".$algorithme." `categorie` like '%".$categorie."%'"; } else if ( $recherche AND !$acategorie ) { $rechercheresult .= " WHERE `titre` like '%".$recherche."%' ".$algorithme." `description` like '%".$recherche."%'"; } else if ( $categorie AND !$recherche ) { $rechercheresult .= " WHERE `categorie` like '%".$categorie."%'"; } $rechercheresult .= " ORDER BY `".$ordre."` DESC LIMIT ".$limite.",".$limit; $result = @mysql_query($rechercheresult); } } else { $recherchenb .= " ORDER BY rand() LIMIT 5"; $resultnb = @mysql_query($recherchenb); $nbresult = @mysql_num_rows($resultnb); $rechercheresult = $recherchenb; $result = @mysql_query($rechercheresult); } } $num1 = "SELECT * FROM `annuaire`"; $num2 = mysql_query($num1); $num3 = @mysql_num_rows($num2);
J'en tire une conclusion les erreures sont toujours bètes et stupides et elles occupent plein de monde pour rien et pendant très longtemps car depuis hier soir :? :roll:

par zeus » 12 juin 2008, 16:25

Eh bien donne nous la solution, qu'elle puisse servir à d'autres personnes qui pourraient avoir le même problème que toi ;)

par toutoos » 12 juin 2008, 16:12

Euréka!

NE vous fatiguez plus je vous remerci d'avoir repondu a mon message! j'ai trouvé le problème et maintent le conteur marche!

Je vous remerci tous de votre disponibilité!

par toutoos » 12 juin 2008, 15:07

Pourtant le titre du sujet n'est pas explicite!

Problème de compteur

Les trois lignes de codes du début sont le problème puisque c'est ici que ca plante! Ni avant ni après!

Ma facon de programmer est mienne ( toujour un peu bordelik je lavou ) mais je mi retourve parfaitement la preuve toues mes autres erreures je les ai trouver!

donc jai du mal a centre plus le problème tu ne veu po non plus un découpage structurelle des trois lignes de codes?

Je pence avoir été assez clair mintenant le but n'est pas de comprendre mon bou de code car tt seul il ne vo rien sa je te l'accorde mais avec son contexte il est indispensable!

Je pence avoir tout di sur le sujet donc si personne a de sugjestion a proposer pour mon problème on peu le clor mais il nora pas été résolu!

Je me débrouillerai a trouver la résolution du problème sous peu mais la pour le moment je me suis attaqué a l'ajout de site je ne vai po frai marche arrière!

par animithra » 12 juin 2008, 14:53

la version universelle du script (sans langage de programmation) du genre :

VARIABLE
liste des variables et de leur type

DEBUT

ce que fait le programme

FIN
mais le problème est vraiment spécifik au bout de code donnée au début!
le problème c'est qu'on ne peut pas identifier ton problème.
ta requête est ok (cf le début puisque c'est la même que tu refais 3 fois, d'ailleurs faudrait voir à faire un peu de refactoring), tu es connecté à sql.

le problème doit être en aval, au moment où tu utilises ta variable.

tu nous dis qu'il y a un problème mais tu ne nous dit pas en quoi il consiste...

par animithra » 12 juin 2008, 14:51

(arf, problème avec utilisation de la touche tabulation, post réédité après, dsl)

par toutoos » 12 juin 2008, 13:35

je viens de pencer que je n'ai pas répondu a ta question mais l'algorithme je ne voi pas se ke tu entend par la!

La version papier du script?

par toutoos » 12 juin 2008, 13:34

Non je ne m'en sert que sur cette page la mais le problème est que l'upload des pages trop grosse sur free ne fonctionne pas correctement! donc j'ai mis se script sur une autre page!

La connection a la base de donnée se fait avant car aant d'inclure le fichier j'ai mi mon bout de code de connection!

ensuite a la fin de la page j'ai mis la fermeture de la connection a la base de donnée! mais le problème est vraiment spécifik au bout de code donnée au début!

par animithra » 12 juin 2008, 13:18

Se script est la préparation a l'affichage du moteur de recherche. En faite il déclare et teste toutes les variables une a une.
Pour moi ce script fait office de recherche puisque tu envoies des requetes au serveur SQL...

Dans tous les cas, et pour éviter les problèmes de traitement, il serait logique de te connecter au serveur SQL dans ce document php et de clore la connexion à la fin.

De plus, et si tu l'utilises dans diverses pages, pourquoi ne pas en faire une fonction ?

Sinon (et je suis vraiment désolée mais le script ne me parle vraiment pas) si tu as le temps, donne moi l'algorithme de ce que tu as voulu faire, ça m'éclairerai peut être un peu...

par toutoos » 12 juin 2008, 13:04

vous voulez peut être voir le script en action?

http;//toutoos.fre.fr

Le script du compteur est en action au moment ou il y a écrit : "Le conteur ne fonctionne pas" a coté des onglets!

par toutoos » 12 juin 2008, 13:00

Se script est la préparation a l'affichage du moteur de recherche. En faite il déclare et teste toutes les variables une a une.

Dans une autre page ou une ionclusion de la page est effectuée je fais fonctionner tous les script et met toutes les variables en application!

par animithra » 12 juin 2008, 12:09

Euh, plusieurs questions :

1) à quoi te sert cette requête à ce moment du script ? (parce que ça me paraît pas évident)

2) qu'est-ce qui te permet de dire qu'elle ne fonctionne pas ? (tu n'as aucun traitement avec...)

par toutoos » 12 juin 2008, 11:25

<?php
  //////////////////////////////////////
  //  Sélection du type de recherche  //
  //////////////////////////////////////

  if ( empty($_GET['moteur']) ) {
    $moteur = 'Simple';
  }
  else {
    $moteur = $_GET['moteur'];
  }

  ///////////////////////////////////////////////////
  // Si c'est bien une recherche qui a été lancée  //
  ///////////////////////////////////////////////////

  if ( $moteur == 'Simple' OR $moteur == 'Avance' ) {
    $recherche  = $_GET['mc'];
    $categorie  = $_GET['ktg'];

  ////////////////////////////////////////////////
  //  On limite le nombre d'affichage par page  //
  ////////////////////////////////////////////////
  
    if ( empty($_GET['nb']) ) {
      $limit = "10";
    }
    else {
      $limit = $_GET['nb'];
    }
  
  /////////////////////////////////////////////
  //  On récupère la valeur de l'algorithme  //
  /////////////////////////////////////////////

    if ( empty($_GET['alg']) ) {
      $algorithme = "OR";
    }
    else {
      $algorithme = $_GET['alg'];
    }

  ////////////////////////////////////
  //  On récupère le champs de tri  //
  ////////////////////////////////////

    if ( empty($_GET['or']) ) {
      $ordre = 'date';
    }
    else {
      $ordre = $_GET['or'];
    }

  ///////////////////////////////////////////////////
  //  On prépare le système de comptage des pages  //
  ///////////////////////////////////////////////////

    if ( empty ($_GET['limite']) ) {
      $limite = 0;
      $limitec = 1;
    } 
    else {
      $limite = $_GET['limite'];
      $limitec = $limite + 1;
    }
  
  ////////////////////////////////////////////////////////
  //  On prépare le comparateur pour les nouveau sites  //
  ////////////////////////////////////////////////////////

    $time = time();
    $semaine = 60*60*24*7;
    $date = $time - $semaine;
  
    $recherchenb     = "SELECT * FROM `annuaire`";
    $rechercheresult = "SELECT * FROM `annuaire`";

  ///////////////////////////////////////////
  //  Si on est dans une recherche simple  //
  ///////////////////////////////////////////

    if ( $_GET['post'] ) {

      if ( $moteur == 'Simple' ) {
        if ( $recherche AND $categorie ) {
          $page_error = '2';
        }
        else if ( $recherche ) {
          $recherchenb     .= " WHERE `titre` like '%".$recherche."%' ".$algorithme." `description` like '%".$recherche."%'";
        }
        else if ( $categorie ) {
          $recherchenb     .= " WHERE `categorie` like '%".$categorie."%'";
        }
        $resultnb = @mysql_query($recherchenb);     
  
        $nbresult = @mysql_num_rows($resultnb);
  
        if ( $recherche AND !$categorie ) {
          $rechercheresult .= " WHERE `titre` like '%".$recherche."%' ".$algorithme." `description` like '%".$recherche."%'";
        }
        else if ( $categorie AND !$recherche ) {
          $rechercheresult .= " WHERE `categorie` like '%".$categorie."%'";
        }
        $rechercheresult .= " ORDER BY `".$ordre."` DESC LIMIT ".$limite.",".$limit;
        $result   = @mysql_query($rechercheresult); 
      }
  
      if ( $moteur == 'Avance' ) {
        if ( $recherche AND $categorie ) {
          $recherchenb     .= " WHERE `titre` like '%".$recherche."%' ".$algorithme." `description` like '%".$recherche."%' ".$algorithme." `categorie` like '%".$categorie."%'";
        }
        else if ( $recherche AND !$acategorie ) {
          $recherchenb     .= " WHERE `titre` like '%".$recherche."%' ".$algorithme." `description` like '%".$recherche."%'";
        }
        else if ( $categorie AND !$recherche ) {
          $recherchenb     .= " WHERE `categorie` like '%".$categorie."%'";
        }
        $resultnb = @mysql_query($recherchenb);     
  
        $nbresult = @mysql_num_rows($resultnb);
  
        if ( $recherche AND $categorie ) {
          $rechercheresult     .= " WHERE `titre` like '%".$recherche."%' ".$algorithme." `description` like '%".$recherche."%' ".$algorithme." `categorie` like '%".$categorie."%'";
        }
        else if ( $recherche AND !$acategorie ) {
          $rechercheresult     .= " WHERE `titre` like '%".$recherche."%' ".$algorithme." `description` like '%".$recherche."%'";
        }
        else if ( $categorie AND !$recherche ) {
          $rechercheresult     .= " WHERE `categorie` like '%".$categorie."%'";
        }
        $rechercheresult .= " ORDER BY `".$ordre."` DESC LIMIT ".$limite.",".$limit;
        $result   = @mysql_query($rechercheresult); 
      }
    }
    else {
      $recherchenb .= " ORDER BY rand() LIMIT 5";
      $resultnb     = @mysql_query($recherchenb);     
      $nbresult     = @mysql_num_rows($resultnb);

      $rechercheresult = $recherchenb;
      $result          = @mysql_query($rechercheresult);     
    }

    $recherchetotal  = "SELECT * FROM `annuaire`";
    $resulttt        = mysql_query($recherchetotal);
    $nbtotal         = mysql_num_rows($resulttt);

  }
?>