begin process at 2012 05 30 23:17:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Bases de données

 > 

enregistrement suivant


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

enregistrement suivant

mercredi 9 mars 2005 à 09:08:29 | enregistrement suivant

didou8513

Bonjour, à un moment dans mon application php, j'ai un tableau qui affiche tous les résultats d'une requete, il y a une colonne qui est le nom d'une entreprise et qui est un lien vers les détails de cette entreprise.
Quand j'arrive sur la page détails, j'aimerais avoir un bouton ou un lien qui me permet d'aller sur l'enregistrement suivant.
J'ai pensé à stocker les résultats de ma requete dans une table et ensuite grâce à cette table pouvoir réaliser ce que je veux mais je ne vois pas comment accéder à l'enregistrement suivant d'une table. J'utilise une base oracle. Merci de votre aide
mercredi 9 mars 2005 à 09:44:12 | Re : enregistrement suivant

arnal69130

Bonjour,
Lorsque tu passes de la 1e page à la page "détails", comment sélectionnes-tu la bonne entreprise ? J'imagine en utilisant un identifiant. Comment le passes-tu ? avec un get ou un post ?
Lors de cette lecture des détails, accèdes-tu aux données de la base, ou lis-tu une variable tableau ?
Je pense que le plus simple, c'est de construire un tableau contenant le résultat de la requête de la 1e page (toutes les entreprises, avec leur identifiant). Ensuite, sur ta page détails, tu fais une requête avec un "WHERE idEnt=..." et pour le suivant, utilise la fonction next().

En espérant t'avoir un peu aidé.
Arnaud
mercredi 9 mars 2005 à 09:49:20 | Re : enregistrement suivant

didou8513

Merci de me répondre, oui pour sélectionner la bonne entreprise j'utilise son identifiant et ce dernier s'inscrit dans l'url de la page détails, et dans cette page j'accède aux données de la base.
Ton idée me paraît bien mais je ne connaît pas la fonction next.
mercredi 9 mars 2005 à 10:20:14 | Re : enregistrement suivant

arnal69130

Si tu as bien un tableau contenant tous tes identifiants (de la forme
array(id1=>('NOM'=>'duchmol','Adresse'=>'rue truc',...), id2=>(...),...)
alors pour écrire ton lien vers l'entreprise suivante, essaie un truc du genre :

1./Recherche de l'identifiant en cours dans le tableau et positionnement du curseur du tableau sur cet élément (j'ai trouvé cette fonction sur [ Lien ] ) :

function array_set_current(&$array, $key)
{
   reset($array);
   while (current($array)!==FALSE){
       if (key($array) == $key) {
           break;
       }
       next($array);
   }
   return current($array);
}

Donc dans ton cas, ça doit donner à peu près ça :
array_set_current($TableauDesEntreprises, $idEnCours);

2./Déplacement du curseur du tableau sur l'élément suivant :
$suivant=next($TableauDesEntreprises); //cf [ Lien ]
if ($suivant===FALSE) $suivant=reset($TableauDesEntreprises);
$idSuivant=key(TableauDesEntreprises);

3./ Puis construction du lien :
echo "<a href='?id=$idsuivant>suivant</a>";

Si tu as d'autres questions, n'hésite pas.
Arnaud

mercredi 9 mars 2005 à 11:04:31 | Re : enregistrement suivant

didou8513

Désolé je ne maîtrise pas trop les tableaux, comment le remplir avec juste l'identifiant des entreprises. Merci
J'exécute la requete et tant qu'il y a un résultat j'insère le résultat dans le tableau. Ca doit être ca, mais quelle est la syntaxe pour l'insertion du résultat ?
Merci
mercredi 9 mars 2005 à 11:31:27 | Re : enregistrement suivant

arnal69130

oui, c'est ça, en même temps que tu exploites le résultat de ta requète. Après, ça dépend de ta table entreprise. Tu peux faire un tableau qui contient quelques infos sur les entreprises :
$TableauDesEntreprises=array();
while($resultat...)
{
   $id=résultat id
   $TableauDesEntreprises[$id]['Nom']=resultat nom
   $TableauDesEntreprises[$id]['Adresse']=resultat adresse;
}

ou alors un tableau contenant juste les id :
$TableauDesEntreprises=array();
while($resultat...)
{
   $id=résultat id
   array_push($TableauDesEntreprises,$id);   //cf [ Lien ]
}
Dans ce 2e cas, le tableau sera de la forme :
array(0=>id1, 1=>id2, ...) et le reste sera en fait plus simple, sur la page détails :
1./Recherche de l'identifiant en cours :
$cle=array_search($idEnCours, $TableauDesEntreprises); //cf [ Lien ]
2./$idSuivant= $TableauDesEntreprises[$cle+1];
3./idem

Arnaud

mercredi 9 mars 2005 à 11:37:29 | Re : enregistrement suivant

didou8513

En fait c'est bon j'ai réussi a insérer les données dans mon tableau. Mais la je ne vois pas comment accéder à l'enregistrement suivant et précédent.
Pour trouver la valeur de l'entreprise que j'ai sélectionné c'est pas difficile car elle se trouve dans l'url. Après tu m'a dit si j'ai bien compris de trouver sa position dans le tableau comment faire ? Aussi, à l'affichage des résultats de ma requete j'ai fait un echo reset($tableau); ca marche ca affiche la valeur de la dernière ligne du tableau mais quand que sélectionne une entreprise qui me dirige vers la page détails et que je refait un echo reset($tableau); ca me met "Warning: Variable passed to reset() is not an array or object .....". C'est normal ? Merci
mercredi 9 mars 2005 à 14:11:30 | Re : enregistrement suivant

arnal69130

Apparemment je n'ai pas été très clair. Je t'ai proposé 2 solutions pour remplir ton tableau (cf post précédent). Laquelle as-tu choisi ? Lorsque ton tableau est rempli et que tu fais print_r($tableau); obtiens-tu
array(id1=>('NOM'=>'duchmol','Adresse'=>'rue truc',...), id2=>(...),...)
ou
array(0=>id1, 1=>id2, ...)
?

Si tu as choisi cette 2e solution (c'est le plus simple), il te suffit ensuite, sur la page détails, de faire
1./Recherche de l'identifiant en cours :
$cle=array_search($idEnCours, $TableauDesEntreprises); //cf http://www.php.net/manual/fr/function.array-search.php
2./$idSuivant= $TableauDesEntreprises[$cle+1];
3./idem
C'est tout, plus besoin de function array_set_current(&$array, $key), ni de reset, ni de next.

Note : Si tu veux afficher un tableau, utilises "print_r($tableau)" et non pas "echo reset($tableau)"

Arnaud
mercredi 9 mars 2005 à 14:35:48 | Re : enregistrement suivant

didou8513

J'y vois un peu plus clair maintenant, mais j'ai été un peu trop vite pour l'insertion des données dans mon tableau, je n'y arrive pas il m'affiche qu'un seul résultat et si je fais de ta manière avec array_push ya un message d'erreur : Fatal error: Only variables can be passed by reference .....
Merci
mercredi 9 mars 2005 à 15:13:04 | Re : enregistrement suivant

didou8513

C'est bon j'ai résussi à insérer les données dans le tableau mais pour le reste je vois bien comment faire mais ca ne marche pas

$cle=array_search($id,$tableau);

$id  correspond à l'identifiant de l'entreprise qui est dans l'url

j'ai pas l'impression qu'il comprend la fonction array_search, mais tu t'y connait mieu que moi

quand j'affiche $cle il me met : array

1 2

Cette discussion est classée dans : résultats, enregistrement, table, requete, entreprise


Répondre à ce message

Sujets en rapport avec ce message

Deleter un enregistrement dans une table [ par Vincentsoft ] Salut, je voudrai savoir comment deleter un enregistrement dans une table.Je connais la fonction delete from ... mais j'aimerai supprimer simplement u Problème de suppression d'enregistrement [ par curator68 ] Salut à tous!Voilà, j'ai un petit problème. Je n'arrive pas à supprimer un enregistrement précis d'une table.Structure de ma table: CREATE TA Problème de suppression d'un enregistrement [ par curator68 ] Salut à tous!Voilà, j'ai un petit problème. Je n'arrive pas à supprimer un enregistrement précis d'une table.Structure de ma table:CREATE TABLE IF NOT Requete SQL [ par haens ] bjr,j'ai une table Commandes contenant un ID(primary key) et un IDClients(lié à une autre table).Je voudrai retourner le nombre d'enregistrement prése requete SQL qui fait pas son travail [ par florianb ] Bonjour je me heurte a un probleme de requete sql, soit elle fait mal son travail soit c'est mloi qui est mauvais :)! j'ai une table appartement et un Requete SQL avec PHP : besoin d'aide svp [ par lasof77 ] Bonjour, Je suis debutante en php et j'ai un probleme de recupération de données via sql dans ma base.Je commence par faire une requete globale sur to Problème de boucle [ par SiNeDeNiS ] Bonjour à tous et chacun !! Voila le bobo .. Je possède une table MySQL avec plusieur enregistrement ..A l'aide d'une boucle "for" je fait afficher le Requete sql helppppp [ par Wars007 ] Salut tlm!!Je voudrais savoir comment par ex:si la table sql LOL exsite pas cree alors la table LOL???qqun pe y repondre svpmerci :p requete balaise [ par eax ] salutg un pb avec une requete mysql qui affiche les champs d'une table A (table des photos) et d'une table B (table des comentaires), je veux afficher requete sur une table en fonction d'une autre [ par ronanf235 ] bonjourje vous explique mon probleme : j'ai une table de donne avec plein de champs et plein de donnees.pour faciliter la consultation de cette table,


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,936 sec (3)

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