Page qui ne tournent plus

Répondre
Philippe GUEGAN
Messages : 108
Enregistré le : jeu. oct. 31, 2002 11:51 am
Localisation : Breizh
Contact :

Page qui ne tournent plus

Message par Philippe GUEGAN » lun. août 16, 2010 3:15 pm

Bonjour Côme!!
Je suis toujours là!
J'ai un problème sur mon site,
Si tu te rappelles, j'ai une présentation de type catalogue, avec des vignettes de maisons, que l'on peut faire défiler par page de 20.
J'ai dû bricoler quelque chose de pas clair dans le code et mes pages ne tournent plus, ça reste collé à la première page. Je remarque que dans la barre de défilement le $pos reste toujours à zéro!
Peux tu me dépanner sur ce coup là, c'est très embêtant.
Tu peux constater le pb en allant sur gueganimmo.com rubrique location par exemple.

Côme
Site Admin
Messages : 852
Enregistré le : sam. sept. 14, 2002 10:41 pm
Localisation : Igny (Essonne)

Message par Côme » mar. août 31, 2010 9:27 am

Salut Philippe
Désolé je n'avais pas vu ton message.
Poste peut-être ici ton code actuel qui crée les liens de pagination avec $pos, il doit bien y avoir une explication simple.
Côme

Philippe GUEGAN
Messages : 108
Enregistré le : jeu. oct. 31, 2002 11:51 am
Localisation : Breizh
Contact :

Message par Philippe GUEGAN » mar. août 31, 2010 9:50 am

Voilà, merci.
<link>

<?php /* Date de création: 21/06/05 */
include_once ("globals.inc.php");
include_once ("fonctions.inc.php");
mysql_connect($serveur,$login,$motpasse) or die ("erreur de connexion au serveur ".mysql_error());
mysql_select_db($base) or die ("erreur de connexion a la base de données ".mysql_error());
$nego = $_REQUEST['nego'] ;
$i=0;
//*********************************************
//Tous les enregistrements
//*********************************************


$que = " SELECT T1.*,T2.* FROM biens_fr T1 LEFT JOIN nego T2 ON (T1.no = T2.no) WHERE(T1.no)= '$nego'";
$quetot = " SELECT T1.ref FROM `biens_fr` T1 LEFT JOIN nego T2 ON (T1.no = T2.no) WHERE(T1.no)= '$nego'";


$que1 = mysql_query($quetot) or die ("Requête incorrecte ".mysql_error());
$nbretotal = mysql_num_rows($que1);

$nbre=$nbrerecordpage; // Nbre d'enregistrements par page
if (!isset($pos)) $pos = 0; // Suit la position dans le fichier
if (!isset($sens)) $sens = "d"; // Suit le sens de naviguation

switch ($sens) {
case "d" :
if ($pos >= $nbre) $pos = $pos - $nbre;
else $pos = 0;
break;
case "f" :
if ($nbretotal > $nbre) $dernpage = $nbretotal - $nbre;
else $dernpage = 0;
if ($pos <dernpage>

<script></script>
<script>
$(document).ready(function() {

$("ul#topnav li").hover(function() { //Hover over event on list item
$(this).css({ 'background' : '#5fb315 url(topnav_active.gif) repeat-x'}); //Add background color + image on hovered list item
$(this).find("span").show(); //Show the subnav
} , function() { //on hover out...
$(this).css({ 'background' : 'none'}); //Ditch the background
$(this).find("span").hide(); //Hide the subnav
});

});
</script>
<script>
<Begin>
</script>
<script>
<Begin>= Netscape && navigator.appName == 'Netscape') ||
(navigator.appVersion.substring(0,3) >= Explorer && navigator.appName.substring(0,9) == 'Microsoft'))
return true;
else return false;
}
// End -->
</script>

</head>
<body>

<table>
<tr>
<td>GUEGAN ROUXEL EXPERTISES&nbsp;</td>
</tr>
</table>
<table>
<tr>
<td><img>&nbsp;</td>
<td><img>&nbsp;</td>
<td><font><b>GUEGAN IMMOBILIER<br><font>2 Rue Saint-Gilles <br>22000 SAINT-BRIEUC<br>tel:02.96.33.29.30<br>fax:02.96.33.32.36<br>mail:property@wanadoo.fr</font></font>&nbsp;</td>
<td><font><a>accueil membre</a></font>&nbsp;</td>
<td><img>&nbsp;</td>
</tr>
</table>
<table>
<tr>
<td><table>
<tr>
<td>
<div>

<ul>
<li><a>Accueil</a></li>
<li>
<a>Patrimoine</a>
<span>
<a>Le conseil</a> |
<a>Loi scellier</a> |
<a>Contact</a>
</span>
</li>
<li>
<a>Locations</a>
<span>
<a>Toutes les locations</a> |
<a>Studios</a> |
<a>T1</a> |
<a>T2</a> |
<a>T3</a> |
<a>T4+</a> |
<a>Maisons</a>|
</span>
</li>
<li>
<a>Gestion</a>
<span>
<a>Green Gestion</a> |
<a>Gérez votre bien</a> |
<a>Contact</a> |

</span>
</li>
<li>
<a>Syndic</a>
<span>
<a>Gérez votre immeuble</a> |
<a>Demande de renseignements</a> |

</span>
</li>
<li>
<a>Ventes</a>
<span>
<a>Campagne Bretonne</a> |
<a>Appartements</a> |
<a>Maisons</a> |
<a>Commerces/Bureaux</a> |
<a>Terrains</a> |
<a>Vendez votre bien</a> |
</span>
</li>
<li>
<a>Expertises</a>
<span>
<a>Guégan/Roussel</a> |
<a>Evaluation</a> |
<a>I.S.F.</a> |
<a>Succession</a> |
<a>Commercial</a> |
<a>Copropriété</a> |
</span>
</li>
<li><a>Contact</a></li>
</ul>


</div>
</td>

</tr>
</table>


&nbsp;</td>
</tr>

</table>


</table>
<table>
<tr>
<td>
</div>
</td>
<td>
</a></td>
</tr>
</table>
</body>
</html>

Côme
Site Admin
Messages : 852
Enregistré le : sam. sept. 14, 2002 10:41 pm
Localisation : Igny (Essonne)

Message par Côme » mar. août 31, 2010 10:17 am

[quote="Philippe GUEGAN"]Voilà, merci.
<link>

<?php /* Date de création: 21/06/05 */
include_once ("globals.inc.php");
include_once ("fonctions.inc.php");
mysql_connect($serveur,$login,$motpasse) or die ("erreur de connexion au serveur ".mysql_error());
mysql_select_db($base) or die ("erreur de connexion a la base de données ".mysql_error());
$nego = $_REQUEST['nego'] ;
$i=0;
//*********************************************
//Tous les enregistrements
//*********************************************


$que = " SELECT T1.*,T2.* FROM biens_fr T1 LEFT JOIN nego T2 ON (T1.no = T2.no) WHERE(T1.no)= '$nego'";
$quetot = " SELECT T1.ref FROM `biens_fr` T1 LEFT JOIN nego T2 ON (T1.no = T2.no) WHERE(T1.no)= '$nego'";


$que1 = mysql_query($quetot) or die ("Requête incorrecte ".mysql_error());
$nbretotal = mysql_num_rows($que1);

$nbre=$nbrerecordpage; // Nbre d'enregistrements par page
if (!isset($pos)) $pos = 0; // Suit la position dans le fichier
if (!isset($sens)) $sens = "d"; // Suit le sens de naviguation

switch ($sens) {
case "d" :
if ($pos >= $nbre) $pos = $pos - $nbre;
else $pos = 0;
break;
case "f" :
if ($nbretotal > $nbre) $dernpage = $nbretotal - $nbre;
else $dernpage = 0;
if ($pos <dernpage>

Jusqu'ici ça va c'est du code php, à partir de là on part sur du html/javascript !! Du coup tu n'as même pas la fin du code php. Bref un sacré bazar ! Il faut peut-être repartir d'une sauvegarde correcte du script ?

<script></script>
<script>
$(document).ready(function() {

$("ul#topnav li").hover(function() { //Hover over event on list item
$(this).css({ 'background' : '#5fb315 url(topnav_active.gif)

Philippe GUEGAN
Messages : 108
Enregistré le : jeu. oct. 31, 2002 11:51 am
Localisation : Breizh
Contact :

Message par Philippe GUEGAN » mar. août 31, 2010 10:24 am

Je n'ai plus de script correct, j'en suis à la 3ème version et ce qui est marrant c'est que déjà à la deuxième ça ne fonctionnait plus. j'ai tout essayé mais rien à faire. Je te passe ce que j'ai de plus ancien

<link>

<?php /* Date de création: 21/06/05 */
include_once ("globals.inc.php");
include_once ("fonctions.inc.php");
mysql_connect($serveur,$login,$motpasse) or die ("erreur de connexion au serveur ".mysql_error());
mysql_select_db($base) or die ("erreur de connexion a la base de données ".mysql_error());
$prix = $_REQUEST['ftot1'] ;
$i=0;

//*********************************************
//Tous les enregistrements
//*********************************************
if ($prix == 0)
{
$que = " SELECT * FROM `biens_bp`" ;
$quetot = " SELECT ref FROM `biens_bp`" ;
}
if ($prix == 1)
{
$que = " SELECT * FROM `biens_bp` WHERE (tot1) <= 50000";
$quetot = " SELECT ref FROM `biens_bp` WHERE (tot1) <50000>= 50000 AND (tot1) <100000>= 50000 AND (tot1) <100000>= 100000 AND (tot1) <150000>= 100000 AND (tot1) <150000>= 150000";
$quetot = " SELECT ref FROM `biens_bp` WHERE (tot1) >= 150000";
}

$que1 = mysql_query($quetot) or die ("Requête incorrecte ".mysql_error());
$nbretotal = mysql_num_rows($que1);

$nbre=$nbrerecordpage; // Nbre d'enregistrements par page
if (!isset($pos)) $pos = 0; // Suit la position dans le fichier
if (!isset($sens)) $sens = "d"; // Suit le sens de naviguation

switch ($sens) {
case "d" :
if ($pos >= $nbre) $pos = $pos - $nbre;
else $pos = 0;
break;
case "f" :
if ($nbretotal > $nbre) $dernpage = $nbretotal - $nbre;
else $dernpage = 0;
if ($pos <dernpage>
<head>
<Entete>
<script>
</a>
</script>
<A>
<script>
var params_meteo="type_meteo=terrestre&langue=fr&fond=FFF0AA&texte=0000FF&num_ville=4608&";
</script>





<style>
<dropmenu0>
</style>

</head>
<body>
<table>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table>
<tr>
<td><a>Home&nbsp;</a></td>
</tr>


<tr>
<td>Our portfolio<br>by price:
<div><form>
<select>
<option> All prices</option>
<option> <50.000 €</option>
<option> 50 -100.000 €</option>
<option> 100 - 150.000 €</option>
<option> > 150.000 €</option>
</select><br><br>
<input>
</form></div>&nbsp;</td>
</tr>
<tr>
<td><script>
<Begin>
</script>

<Menu>

<ilayer>
<layer>
<span
<span><a>Sales</a>
</span>
</span>
</layer>
</ilayer>
<Menu>


<div>
<script>
<!-- Begin
if (document.all)
dropmenu0.style.padding="4px";
for (i=0;i<menu1>
</script>
</div>
<script>
<Begin>
</script>
&nbsp;</td>
</tr>


<tr>
<td><a>Value surveyor&nbsp;</a></td>
</tr>
<tr>
<td><a>Sell your house&nbsp;</a></td>
</tr>

<tr>
<td><A>Currency Converter</A>&nbsp;</td>
</tr>
<tr>
<td><a>Who are we?&nbsp;</a></td>
</tr>
<tr>
<td><a>Contact us&nbsp;</a></td>
</tr>
<tr>
<td><a>Legal side&nbsp;</a></td>
</tr>
<tr>
<td><a>Finance&nbsp;</a></td>
</tr>
<tr>
<td><a>Renovation&nbsp;</a></td>
</tr>
<tr>
<td><a>Holiday homes&nbsp;</a></td>
</tr>
<tr>
<td><a>Travel&nbsp;</a>&nbsp;</td>
</tr>
<tr>
<td><a>Translation service&nbsp;</a>&nbsp;</td>
</tr>
<tr>
<td><a>Good ideas&nbsp;</a>&nbsp;</td>
</tr>
<tr>
<td><a>French Version&nbsp;</a></td>
</tr>


<tr>
<td><div><a><img></a></div>&nbsp;</td>
</tr>
<tr>
<td><div><a><img></a></div><br>The french website<br>for french properties&nbsp;</td>
</tr>
</table>




&nbsp;</td>
<td>The Brittany property specialist<br>Tel:00.33.2.96.33.29.30-Fax:00.33.2.96.33.32.36 <a>email:property@wanadoo.fr</a>&nbsp;
&nbsp;</td>
</tr>
<tr>
<td>
</div>

&nbsp;</td>

</tr>
</table>


</body>
</html>

Côme
Site Admin
Messages : 852
Enregistré le : sam. sept. 14, 2002 10:41 pm
Localisation : Igny (Essonne)

Message par Côme » mar. août 31, 2010 10:51 am

Regarde ma réponse à ton post suivant :
http://www.clairinfo.fr/phpBB2/viewtopic.php?t=330
Je te décrivais simplement ma méthode de pagination.
Sinon, ton hébergeur (Ovh ?) doit te permettre de retrouver une sauvegarde ancienne de ton fichier.

Philippe GUEGAN
Messages : 108
Enregistré le : jeu. oct. 31, 2002 11:51 am
Localisation : Breizh
Contact :

Message par Philippe GUEGAN » mar. août 31, 2010 11:02 am

Je vais me remettre à réfléchir, si je comprends bien j'ai du "avaler"un bout de code au fil du temps.
Je finis quelques pages en ce moment (je refais mon site) et je m'y attaque.
Que je réussisse ou non, je reviens vers toi.

Philippe GUEGAN
Messages : 108
Enregistré le : jeu. oct. 31, 2002 11:51 am
Localisation : Breizh
Contact :

Message par Philippe GUEGAN » mar. août 31, 2010 4:29 pm

mon code il est bon, d'ailleurs la requête fonctionne, j'ai bien les 20 premiers enregistrements qui apparaissent correctement, bien rangé et tout.
C'est juste que quand je clique sur suivant, la page suivante n'apparaît pas et c'est toujours la première qui reste à l'écran, et là je ne sais pas pourquoi.
Je te remts mon code php dans le bon sens:je supprime le dbut et concentre car apparement tout n'apparaît pas dans la page

<?php /* Date de création: 21/06/05 */
include_once ("globals.inc.php");
include_once ("fonctions.inc.php");
mysql_connect($serveur,$login,$motpasse) or die ("erreur de connexion au serveur ".mysql_error());
mysql_select_db($base) or die ("erreur de connexion a la base de données ".mysql_error());
$nego = $_REQUEST['nego'] ;
$i=0;
$que = " SELECT T1.*,T2.* FROM biens_fr T1 LEFT JOIN nego T2 ON (T1.no = T2.no) WHERE(T1.no)= '$nego'";
$quetot = " SELECT T1.ref FROM `biens_fr` T1 LEFT JOIN nego T2 ON (T1.no = T2.no) WHERE(T1.no)= '$nego'";
$que1 = mysql_query($quetot) or die ("Requête incorrecte ".mysql_error());
$nbretotal = mysql_num_rows($que1);
$nbre=$nbrerecordpage; // Nbre d'enregistrements par page
if (!isset($pos)) $pos = 0; // Suit la position dans le fichier
if (!isset($sens)) $sens = "d"; // Suit le sens de naviguation
switch ($sens) {
case "d" :
if ($pos >= $nbre) $pos = $pos - $nbre;
else $pos = 0;
break;
case "f" :
if ($nbretotal > $nbre) $dernpage = $nbretotal - $nbre;
else $dernpage = 0;
if ($pos <dernpage>

Côme
Site Admin
Messages : 852
Enregistré le : sam. sept. 14, 2002 10:41 pm
Localisation : Igny (Essonne)

Message par Côme » mar. août 31, 2010 5:31 pm

Il faudrait le code qui génère les liens <page suivante> car effectivement apparemment la variable $pos ne contient pas la bonne valeur pour attaquer une seconde page. Elle est à zéro.

Apparemment ce n'est pas dans le bout de code que tu m'as envoyé dans le mail ? Comment transfères tu la valeur de $pos ?

Philippe GUEGAN
Messages : 108
Enregistré le : jeu. oct. 31, 2002 11:51 am
Localisation : Breizh
Contact :

Message par Philippe GUEGAN » mar. août 31, 2010 5:55 pm

C'ets bien ce que je pense mais j'ai beau chercher je ne trouve pas l'erreur:

</div>
</td>
<td>
</a>

Côme
Site Admin
Messages : 852
Enregistré le : sam. sept. 14, 2002 10:41 pm
Localisation : Igny (Essonne)

Message par Côme » mar. août 31, 2010 8:01 pm

Ok ok la suite par email ce sera plus simple !
Je t'ai répondu.

Côme
Site Admin
Messages : 852
Enregistré le : sam. sept. 14, 2002 10:41 pm
Localisation : Igny (Essonne)

Message par Côme » jeu. sept. 02, 2010 8:02 pm

Epilogue :
Les scripts avaient changé de comportement car l'hébergeur avait de son côté passé register_globals à False dans la configuration php...

Répondre