begin process at 2012 05 31 12:45:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

probléme défilement de page


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probléme défilement de page

jeudi 11 août 2005 à 12:14:01 | probléme défilement de page

LibreMax

Salut,

Je suis passé d'easyphp 1.7 (apache 1.3.27 php 4.3.3) a un serveur apche sous debian (apache 2.0.54 php 4.3.10.15); Mon problé est que le défilement des pages de mon annuaire ne fonctionne plus.

Merci de votre aide:

<html>

  <script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script><style type="text/css"> 
<!--

body {
background-color: #9595FF;   
}
-->
</style>
<body text="#FFFFFF">
<head>
<title> BIENVENUE SUR L'ANNUAIRE INTERNE DE LA MAIRIE OLIVET</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Language" content="fr">
<script language="JavaScript">

navvers = navigator.appVersion.substring(0,1);
if (navvers > 3)
    navok = true;
else
    navok = false;

today = new Date;
jour = today.getDay();
numero = today.getDate();
if (numero<10)
    numero = "0"+numero;
mois = today.getMonth();
if (navok)
    annee = today.getFullYear();
else
    annee = today.getYear();
TabJour = new Array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
TabMois = new Array("janvier","février","mars","avril","mai","juin","juillet","aout","septembre","octobre","novembre","décembre");
messageDate = TabJour[jour] + " " + numero + " " + TabMois[mois] + " " + annee;

</SCRIPT>
</head>
<script language="JavaScript">

document.write(messageDate);

</SCRIPT>

<h1>&nbsp;</h1>
<h1>&nbsp;</h1>
<p>&nbsp;</p>
<div id="Layer1" style="position:absolute; width:696px; height:84px; z-index:4; left: 186px; top: 67px;">
  <DIV ID=ejs_box2_box STYLE="background:#9595FF;color:#CC0000;font-family:Verdana;font-size:16;width:500;height:100;padding:5"></DIV>
    <SCRIPT LANGUAGE=JavaScript>
 
 ejs_box2_message = new Array;
 ejs_box2_message[0] = '<font size="5"><font size="1"><font size="+4"><font size="+2">ANNUAIRE INTERNE DE LA MAIRIE</font></font></font></font>';

 ejs_box2_actual = 0;
 ejs_box2_html_flag = 0;
 
 function ejs_box2_go()
     {
     if(document.getElementById)
         {
         ejs_box2_char = 1;
         ejs_box2_affich(ejs_box2_actual)
         ejs_box2_actual++;
         if(ejs_box2_actual >= ejs_box2_message.length)
             ejs_box2_actual = 0;
         }       
     }
 
 function ejs_box2_affich(lactual)
     {
     var pix = ejs_box2_message[lactual].charAt(ejs_box2_char);
     if(pix == "<")
         ejs_box2_html_flag = 1;
     if(pix == ">")
         ejs_box2_html_flag = 0;
     var texte = ejs_box2_message[lactual].substring(0,ejs_box2_char);
     document.getElementById("ejs_box2_box").innerHTML = texte;
     if(ejs_box2_char < ejs_box2_message[lactual].length)
         {
         ejs_box2_char++;
         if(ejs_box2_html_flag == 1)   
             ejs_box2_affich(lactual);
         else
             setTimeout("ejs_box2_affich("+lactual+")",50)
         }
     else
         setTimeout("ejs_box2_go()",3000)
     }
 
 window.onload = ejs_box2_go;
 </SCRIPT>
<!-- FIN DU SCRIPT -->  </div>
  <?php
    /// paramètres de connection à la base de données
   
// Serveur SQL
$host = 'localhost';
// Login SQL
$user = 'root';
// Mot de passe SQL
$password = '';
// Nom de la base de donnee
$database = 'Annuaire_Mairie';

//connection à la base de donnée

$mysql_link = mysql_connect($host, $user, $password);
 
// connection bdd + variable
mysql_selectdb($database) or die ('Erreur : '.mysql_error() );

    $tous = mysql_query("SELECT * FROM annuaire");
    $nb_tous = mysql_num_rows($tous);

//$path_parts = pathinfo($_SERVER['PHP_SELF']);
//$pge = $path_parts['Annuaire_Mairie'];

echo"Ce moteur vous permet de rechercher parmi les <font color='#CC0033'><b>$nb_tous</b></font> entrées votre correspondant
<p>
<br>";

 if (isset($_POST['f_etou']) ) $etou=$_POST['f_etou'];
 else $f_etou="OR";      
 
//s'il y a eu saisie :
 if ( !isset($f_nom)) $f_nom="";
 if ( !isset($fonction)) $fonction="";
 
 //if ( isset($_POST['f_nom']) )
 $f_nom=$_POST['f_nom'];
 //if ( isset($_POST['fonction']) )
 $fonction=$_POST['fonction'];


if( ($f_nom)!="" or ($fonction!="") )

 
{
    //traitement des données du formulaire
    //construction du critère de sélection suivant les entrées fournies
    if (!isset($critere)) $critere="";
    if ($f_nom!=""){
            $noms = split(" ",$f_nom);
            $nb_noms = count($noms);
            $critere=" Num_Annuaire like '%$noms[0]%' OR Nom like '%$noms[0]%' OR Prenom like '%$noms[0]%' ";
            $z=1;
            while($z<$nb_noms){
            $critere.=" OR Nom like '%$noms[$z]%' OR Num_Annuaire like '%$noms[$z]%' OR Prenom like '%$noms[$z]%'";
            $z++;}
            }
    if      ($fonction!="")
        {    
            if ($critere=="") $critere.=" Direction like '$fonction'";
            else{$criteretemp=$critere;
                  $critere="(".$criteretemp.")";
                $critere.=" $etou (Direction like '$fonction')"; }
        } 

// NOMBRE D'ENREGISTREMENTS REPONDANT A LA REQUETE
$requete = mysql_query("select * from annuaire where $critere");
echo " select * from Annuaire where $critere <br>" ;

$nbT=mysql_num_rows($requete);

// DEFINITION DU MESSAGE A AFFICHER S'IL NY A PAS DE RESULTATS
if ($nbT==0) {echo "<div align='center'><font color='#993366'> <b>Désolé, aucune fiche ne
correspond à tous les critères indiqués.<br> Vérifiez l'orthographe, diminuez le nombre de critères et relancez la recherche.</b></font></div>";}

else {// AFFICHAGE DES RESULTATS PAGE PAR PAGE
if (!isset($s)) $s="";
if ($nbT>1) {$s= "s";} // utilisé pour éviter une faute d'orthographe dans la ligne en dessous...
echo " Il y a <b>$nbT</b> réponse$s à votre requête<br>";

// on refait la requete mais en précisant les fiches à renvoyer
$limit=5; // vous pouvez faire varier ce nombre, voire même l'intégrer dans votre formulaire pour que ce soient vos visiteurs qui choisissent
if (!isset($pge)) $pge=0;

$debut=$pge*$limit;

 echo '<table width=750 height=80>'."\n";   
        // première ligne on affiche les titres prénom et surnom dans 2 colonnes
        echo '<tr>';
        echo '<center>';
        echo '<td ><b><u>N° poste</u></b></Font></td>';
        echo "\n";
        echo '<td height=50 ><b><u>Nom</u></b></td>';
        echo '<td ><b><u>Prenom</u></b></td>';
        echo '<td ><b><u>Direction / Sous Direction </u></b></td>';
        echo '<td ><b><u>Service</u></b></td>';
        echo '<td ><b><u>N° Portable  </u></b></td>';
        echo '</tr>'."\n"."\n";
       
$requete2 = mysql_query("select * from annuaire where $critere limit $debut, $limit");
    while($row = mysql_fetch_array($requete2)){
            $numAnnuaire=$row['Num_Annuaire'];
            $nom=stripslashes($row['Nom']);
            $prenom=$row['Prenom'];
            $direction=$row['Direction'];
             $sousDirection=$row['SousDirection'];
            $service=$row['Service'];
            $portable=$row['Tel_Port'];
            if($sousDirection==$direction)$sousDirection="";    // pour éviter de répéter la même chose !!
           
                                         
        echo '<tr>';
        echo '<td ><b><Font color="red">'.$row['Num_Annuaire'].'</Font></td>';   
        echo '<td ><b>'.$row['Nom'].'</td>';
        echo '<td ><b>'.$row['Prenom'].'</td>';
        echo '<td ><b>'.$row['Direction'].''.$sousDirection.'</td>';
        //echo '<td ><b>'.$row['SousDirection'].'</td>';
        echo '<td ><b>'.$row['Service'].'</td>';
        echo '<td ><b>'.$row['Tel_Port'].'</td>';
           echo '</tr>'."\n";
                                                
    }// fin du while (tant qu'il y a une ligne dans le tableau de résultats renvoyé par $requete2)
    echo '</table>'."\n";
    echo "<br>";
    echo "<br>";
$nbpages=ceil($nbT/$limit); // ceil = plafond : pour arrondir à la valeur supérieure
// affichage de la première page si nécessaire (si nb total de pages supérieur à 5)   

if($nbpages>>3 and $pge>2){
    echo  "<a href=index3.php3?pge=0&f_nom=$f_nom&fonction=$fonction&f_etou=$f_etou><b>Début</b></a>&nbsp;";
    }
// AFFICHAGE DU LIEN PRECEDENT SI BESOIN EST (LA PREMIERE PAGE EST 0)
if ($pge>0){
    $precedent=$pge-1;
    echo  "<a href=index3.php3?pge=$precedent&f_nom=$f_nom&fonction=$fonction&f_etou=$f_etou>
    <b><fontcolor='#993366'>&lt;</font></b></a>&nbsp;";
    }
// AFFICHAGE DES NUMEROS DE PAGE
$i=0;$j=1;
if($nbT>$limit){
    while($i<($nbpages)){ //  pour limiter l'affichage du nombre de pages restantes
        if ($i>$pge-3 and $i<$pge+3){
            if($i!=$pge)
            {echo "<a href=index3.php3?pge=$i&f_nom=$f_nom&fonction=$fonction&f_etou=$f_etou>$j</a>&nbsp;";}
            else {echo "<b>$j</b>&nbsp;";}//met en gras le N° de la page en cours
            }//fin du if i>pge....
        $i++;$j++;}//fin du while i<nbpages
    }    //fin du if nbT>limit

// AFFICHAGE DU LIEN SUIVANT SI BESOIN EST
if($pge<$nbpages-1){
    $suivant=$pge+1;
    echo "<a href=index3.php3?pge=$suivant&f_nom=$f_nom&fonction=$fonction&f_etou=$f_etou><b>&gt;</b></a>&nbsp;";
    }   
// affichage de la dernière page si nécessaire
if($nbpages>3 and $pge<$nbpages-3){
$fin=$nbpages-1;
    echo  "<a href=index3.php3?pge=$fin&f_nom=$f_nom&fonction=$fonction&f_etou=$f_etou><b>fin</b> ($nbpages)</a>";
    }

}// fin du else affichage des résultats.
}// fin du si il y a eu saisie
else { // s'il n'y a pas eu saisie
echo "<br><b> indiquez vos critères de choix <b><br>";}
 ?>
  </p>
</div>
</body>
</html>


Merci

LibreMax
jeudi 11 août 2005 à 14:01:29 | Re : probléme défilement de page

davwart


Cette réponse n'engage que moi mais...
ton code est bcp trop long pour qu'on le debug.. essaie de cerner un peu le pb..enleve des portions de code  et regarde si ça foire tjrs, etc...
parce que  là.... dur dur ;)

bon courage !!

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
jeudi 11 août 2005 à 14:53:21 | Re : probléme défilement de page

LibreMax

je pense que mon probléme doit venir des  :
echo "<a href=index3.php3?pge=$suivant&f_nom=$f_nom&fonction=$fonction&f_etou=$f_etou><b>&gt;</b></a>&nbsp;";

LibreMax
jeudi 11 août 2005 à 14:59:22 | Re : probléme défilement de page

davwart

ben supprime le..et regarde si ça marche..

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
jeudi 11 août 2005 à 15:05:33 | Re : probléme défilement de page

arnal69130

Dorénavant, il faut utiser $_GET['var'] pour accéder à une variable 'var' transmise par l'url, donc dans ton cas remplace

if (!isset($pge)) $pge=0;

par

if (!isset($_GET['pge'])) $pge=0;
else $pge=$_GET['pge'];

Tu devras faire pareil pour toutes les variables que tu passes par l'url. Pour celles que tu passes par un formulaire, tu peux y accéder par $_POST['var'].

Arn;o)


jeudi 11 août 2005 à 16:31:27 | Re : probléme défilement de page

LibreMax

echo "<a href=index3.php?pge=".$_GET['suivant']."&f_nom=".$_GET['f_nom']."&fonction=".$_GET['fonction']."&f_etou=".$_GET['f_etou']."><b>&gt;</b></a>&nbsp;";

J'ai mis ton exemple dans un <href mais cela ne semble pas fonctionner.
Peut-tu me faire un exemple.

Merci
LibreMax
jeudi 11 août 2005 à 16:50:45 | Re : probléme défilement de page

arnal69130

Une autre nouveauté est qu'il faut initialiser les variables avant de les appeler (ou alors tester si elles existent).
C'est-à-dire, avant d'écrire

if (...) {
   $var='tty';
}
echo $var;

tu peux faire :
- soit if (!empty($var)) ou aussi if (isset($var)) :

if (...) {
   $var='tty';
}
if (!empty($var)) {
   echo $var;
}

- soit affecter systématiquement une valeur : $var='';
$var='';
if (...) {
   $var='tty';
}
echo $var;


Donc, dans ton cas, avant d'utiliser $_GET, il faut vérifier que la variable existe. Tu peux alors soit utiliser des variables locales (comme dans ma 1e réponse) :

if (!isset($_GET['pge'])) $pge=0;
else $pge=$_GET['pge'];
echo '<a href="index3.php?pge='.$pge'">lien</a>';
//idem pour chq var

soit en construisant la chaine des paramètres petit à petit :

$lien='<a href="index3.php?';
if (!empty($_GET['suivant']))
   $lien.='pge='.$_GET['suivant'].'&';
if (!empty($_GET['f_nom']))
   $lien.='f_nom='.$_GET['f_nom'].'&';
if (!empty($_GET['fonction']))
   $lien.='fonction='.$_GET['fonction'].'&';
if (!empty($_GET['f_etou']))
   $lien.='f_etou='.$_GET['f_etou'].'&';
echo substr($lien,0,strlen($lien)-1).'"><b>&gt;</b></a>';

Arn;o)


Cette discussion est classée dans : echo, row, annuaire, ejs, box2


Répondre à ce message

Sujets en rapport avec ce message

SELECT ds un tablo avec un <tr> coloré sur deux [ par MisterJAD ] J'ai fait un SELECT* dans une table, je l'ai mis dans tableau, mais je voudrais, pour plus de lisibilité s'il y a un grand nombre d'enregistrement fai Sélection graphique (clic) d'un enregistrement [ par benoit74 ] Avec mes bases de php (et l'aide de certains codes sources, merci à vous ) j'arrive à afficher un tableau html correspondant à une de mes tables mysql checkbox et initiales [ par titigrou ] voila ce que tu avais fait la dernière fois:function visible(nom, row, col){ if (document.getElementById(nom).checked==1) { document.getElementById(' PHP : reste, soustraction [ par vir76 ] je dispose d'un tableau avec 5 colonnes :Année, Nom de la soudirection, total des dotations, total commandes et la différence des 2Voici mon problème probleme avec foreach [ par milourie ] J'ai un foreach qui fonction avec des radio bouttondans un formulaire et quand le client s'inscrit la premiere fois le radio boutton se selectionne bi AAAAAAAA mysql_fetch_array ca marche comment? [ par Tiriel ] Lorsque j'execute ce script: (Pas besoin de preciser que je suis débutant vu le script ) include("ID.htaccess\sql.php"); $connect=mysq Ligne de couleur [ par forchrisw ] je voudrais affichier a l'ecran une lign esur deux comment je peux fairevoici mon code//Pour charger les infos de connection$connect=mysql_connect($ho foreach ne recupere pas apres modification [ par milourie ] sourieJ'ai un probleme avec mon foreach il fonctionne avec un radio boutton . Jexplique quand le client inscrit et selection son forfait quil choisi Inversement requete MySql [ par mick0000000001 ] Voici mon code: $select = mysql_query("SELECT * FROM $blabla ORDER BY id DESC LIMIT 0,6");$result = mysql_num_rows($select);if($result == '0'){echo "" multiplication et resultat avec 2 chiffres apres la virgule [ par magatha ] Bonjour à tous,je débute en php, j'essaye de me debrouiller, mais la je bloque:voila, je realise un systeme de panier en php,il fonctionne correctemen


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales