Je vous ai manqué ?

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

Je vous ai manqué ?

Message par Philippe GUEGAN » jeu. avr. 13, 2006 5:05 pm

Bon c'est pas sûr :P

Voilà Tel Nominoé sur son fier destrier chassant le Franc (836)
je me suis lancé un nouveau défi.

Voilà le point faible de toutes les agences c'est la relance client et la gestion du portefeuille client.

Quand un client demande des infos à partir du site il est inscrit automatiquement avec un N° de la base nextid (j'ai pompé côme!)
Super prosper 8)
S'il vien de se loger ou d'ailleurs il faut l'insérer dans la base, bon jusque là c'est faisable.
Les 2 premiers problème que je rencontre:
Ma page est protégée par mot de passe, mais quand je veux par exemple aller sur les enregistrements suivants ça coince la page ne revient pas!

J'aimerais pouvoir faire défiler les enregistrements sur mla table bref aller de l'un à l'autre et là j'arrive pas!

Bon ça commence mal quoi!

Un tout petit peu d'aide peut être :mrgreen:

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

Message par Côme » jeu. avr. 13, 2006 8:05 pm

Salut Philippe :D

Normalement le visiteur se connecte une fois sur un site (pseudo/motpasse) et si il est reconnu le système lui attrbue un numéro de session unique (classiquement "id"). Ensuite on trimbale cet identifiant de page en page (souvent en le passant en paramètre de l'url, en GET).

Chaque page doit alors commencer par vérifier que ce numéro de session existe bel et bien avant de laisser la page s'afficher.

Voilà pour le principe général. Je ne sais pas si cela t'aide ? Si tu précises un peu concrètement sur quoi tu butes j'essaierai de t'aider.

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

Message par Philippe GUEGAN » jeu. avr. 13, 2006 8:14 pm

Salut Côme
depuis j'ai réussi ce truc là, comme qoui je pose mes questions trop vite, reste le pb de l'utilisation d'une base comme dans paradox en fait en passant d'un enregistrement à l'autre et en se focalisant sur un enregistrement, là je vois pas trop :roll:

Philippe

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

Message par Côme » jeu. avr. 13, 2006 8:41 pm

Oui ce point là je l'ai déjà rencontré !
Il n'y a pas de miracle il va falloir calculer le suivant et le précédent.

Si tu pars initialement d'un tableau html (genre grille Paradox) pour aller ensuite sur un enregistrement détail et permettre alors de faire suivant / précedent tu peux calculer ce suivant et ce précédent dès ce tableau html de départ. Dans ce cas je crée un array et je le rempli séquentiellement avec les numéros (obtenus par une requête dédiée). Puis lorsque je fais mon lien permettant d'accéder à un enregistrement particulier je regarde dans mon tableau quel est l'élément précédent et quel est l'élément suivant et je les ajoute en paramètre de l'url.

Sinon , autre méthode, tu peux calculer le suivant et le précédent en 2 requêtes en jouant avec la clause LIMIT à 1. Exemple trouver le premier record dont le numéro est plus grand que... Puis trouver le premier record dont le numéro est plus petit que (il faut alors bien trier !)

Voilà en gros comment moi je m'y prends. Si tu trouves mieux dis le moi :lol:

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

Message par Philippe GUEGAN » ven. avr. 14, 2006 3:25 pm

je fais une recherche du côté des pointeurs, de eachfor etc
je te tiens au courant,
quand je vois la facilité de paradox je suis un peu déconcerté :(
Philippe

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

Message par Côme » ven. avr. 14, 2006 4:35 pm

Le problème avec Paradox c'est qu'après ce logiciel génial tout parait lourd et pénible :lol:
Bon si tu butes sur quelque chose n'hésites pas.
Le plus simple c'est les 2 requêtes lors de l'accès à la fiche détail enregistrement.
L'autre méthode un chouia plus complexe permet d'éviter ces requêtes futures.

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

Message par Philippe GUEGAN » sam. avr. 15, 2006 3:27 pm

Je crois comprendre qu'il est difficile en fait de naviguer dans un tableau comme sur une base de données, le tableau s'affichant à l'écran étant un résultat figé.
Je note quand même la qualité de pxforms qui permet ce genre de gestion via internet.
Je pensais pouvoir faire pareil avec php
Je suis déçu :oops:
Bon je continue à chercher quand même vu le nombre de timbré qui te sorte des scripts d'enfer on ne sait jamais. :idea:

Philippe

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

Message par Philippe GUEGAN » sam. avr. 15, 2006 4:48 pm

en fait Vladimir doit utiliser une requête à chaque fois car quand tu passes d'un enregistrement à l'autre il y a un refresh à chaque fois,
le problème c'est déjà de pointer sur le 1er enregistrement et ça déja j'arrive pas :twisted:

Philippe

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

Message par Côme » lun. avr. 17, 2006 9:16 am

Philippe GUEGAN a écrit :Je crois comprendre qu'il est difficile en fait de naviguer dans un tableau comme sur une base de données, le tableau s'affichant à l'écran étant un résultat figé.
C'est exactement cela
Je note quand même la qualité de pxforms qui permet ce genre de gestion via internet.
Mais c'est parce que derrière c'est en fait Paradox qui travaille ! Le changement de record est fait par paradox. L'écran html est simplement rafraichi par le contenu de l'écran Paradox. Idée géniale mais qui présente des limites tout de même. ASP.NET de Microsoft permet également cette gestion de manière transparente, mais cela a un prix en terme de lourdeur du système comparé à Php.
Bon je continue à chercher quand même vu le nombre de timbré qui te sorte des scripts d'enfer on ne sait jamais. :idea:
Honnêtement ce n'est vraiment pas méchant ! Bon je vais te retrouver un exemple que j'ai utilisé pour un site (je te fais cela tout à l'heure, là je pars à la "course aux oeufs !")

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

Message par Côme » lun. avr. 17, 2006 1:02 pm

Bon voici donc un exemple tiré d'un site de gestion de bulletins scolaires :
Je te le commente en rouge

function NavigueBulletin($cle,$anneebull,$nosection,$script,$voirvalide)
{
// Affiche lien vers le bulletin suivant et précédent dans l'ordre alpha de la section

// La requête qui me retourne la liste des clés (ici avec des critères de sélection passés en paramètres de la fonction)

$query="SELECT T1.NoBull FROM bulletin T1 LEFT JOIN eleve T2 ON (T1.NoEleve=T2.NoEleve)
WHERE (T1.AnneeBull='$anneebull') AND (T1.NoSection='$nosection') ";
if ($voirvalide<>"O") $query .= "AND (T1.Valider<>'1') ";
$query .= "ORDER BY T2.NomEleve,T2.PrenomEleve";
$result = mysql_query($query) or die ("Requête sélection bulletin incorrecte ".mysql_error());

// Chargement du résultat dans un tableau

$tab=array();
while ($row = mysql_fetch_array($result))
$tab[]=$row[NoBull];
mysql_free_result($result);

// Chercher dans le tableau l'élément clé ($clé) passé en paramètre à la fonction.
// Une fois trouvé on regarde s'il y a un élément précédent et on l'affect à $p puis s'il y a un élément suivant et on l'affecte à $s


for($i=0;$i<=count($tab)-1;$i++)
{
if ($tab[$i]==$cle)
{

if ($i==0)
$p=0;
else
$p=$tab[$i-1];

if ($i==count($tab)-1)
$s=0;
else
$s=$tab[$i+1];

break;

} //endif
} //endfor

// si on a un élément précédent on construit un lien "Précédent"

if ($p<>0)
{
$lien=$script."&cle=$p";
echo("<a href=\"$lien\">Précédent</a>");
} //endif

// si on a un élément suivant on construit un lien "Suivant"

if ($s<>0)
{
$lien=$script."&cle=$s";
if ($p<>0) echo("&nbsp;&nbsp;&nbsp;\n");
echo("<a href=\"$lien\">Suivant</a>");
} //endif
}

Bon c'est un exemple que j'ai écrit et qui fonctionne pour moi, cela ne prétend pas être "la" vérité :lol:

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

Message par Philippe GUEGAN » mar. avr. 18, 2006 5:56 pm

bon je vais essayer de l'adapter et je te tiens au courant en fonction de mon emploi du temps un peu chargé.

Lea chasse aux oeufs a été bonne? :new_angel:

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

Message par Côme » mer. avr. 19, 2006 8:01 am

Philippe GUEGAN a écrit :Lea chasse aux oeufs a été bonne? :new_angel:
Je crois qu'on a des oeufs pour les 10 prochaines années :lol:

Répondre