IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Placer un hypertexte pour lier 02 tables se trouvant sur 02 pages d'un site dynamique [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    juriste
    Inscrit en
    Janvier 2017
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : juriste

    Informations forums :
    Inscription : Janvier 2017
    Messages : 23
    Par défaut Placer un hypertexte pour lier 02 tables se trouvant sur 02 pages d'un site dynamique
    Bonjour à Vous tous,

    Je reviens encore une fois vers Vous pour essayer de résoudre un problème sur mon site. il s’agit de lier un hypertexte entre 02 tables se trouvant sur 02 pages différentes de mon site.

    Jusque là le code ci-dessous placé dans la 01 table m’aide à ouvrir la 02 ème page mais avec une table vide. Or je cherche à ouvrir la ligne de la table 2 qui correspond à la ligne de la 01 table à partir de laquelle j’ai placé le lien dans ma BDD.

    NB: les 02 tables sont liées par la même clè étrangère
    besoin que seules les lignes de la T1qui contiennent l’hypertexte ouvre la T2
    Faut il créer une nouvelle requête PHP, sur l’emplacement du lien hypertexte, qui inclura la clé étrangère de la T2 ?

    Code T 1:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <tr>
    	    <td><?php if($row['Supleta']):?><a href="<?=$row['Supleta']?>"><a target=_blank" href="30_33_gnl.php#toto" style="text- 
     decoration:none"><?=$row['Supleta']?></a><?php else: ?><?php endif; ?></td>
     
    		 <td><?php echo $row['livpd'];?></td>
    		<td><?php echo $row['autre'];?></td>
    		<td><?php echo $row['titre']; ?></td>
    	</tr>
    Code T 2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <tr>
     
        <td></td>
        <td></td>
       <td  id="toto"></td>
     
    	</tr>
    Merci de m'aider à résoudre ce PB qui comme le disait Voltaire paraît irrésolvable

  2. #2
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Bonsoir,
    j'ai du mal à comprendre : tu parles de table SQL (clé étrangère) et tu en donnes un code qui est celui de tables html. Merci de clarifier...

  3. #3
    Membre averti
    Femme Profil pro
    juriste
    Inscrit en
    Janvier 2017
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : juriste

    Informations forums :
    Inscription : Janvier 2017
    Messages : 23
    Par défaut
    Bonsoir à Vous

    D'abord j'espere que le projet que je voudrai faire et le problème qui s'oppose a sa réalisation sont bien claires.

    C'est vrai que je n'ai pas mis de requete au sein de la cellule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><?php if($row['Supleta']):?>.... <td>
    et donc de clé etrangère car je n'ai pas su comment l'inclure au sein du <td> des 02 pages. tout ce que j'ai réussit à faire est d'inclure ds la T1 le champs qui indique une mise à jour à consulter et le lien href qui permet d'ouvrir l'autre page et sa T2 vide ( qui contient la mise à jour).

    Sans doute qu'il faudrait inclure dans le <td> de T1 une requete qui joindra la clé étrangère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ['id_etat'] et l ['Supleta']
    de T1 à de T2 le tout avec le lien href.

    Question : comment inclure une ancre au T2 pour l'ouvrir à la ligne concernée par la mise à jour ou bien faut il un autre code ?

  4. #4
    Membre chevronné Avatar de licardentaistor
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2021
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2021
    Messages : 345
    Par défaut
    j'ai rien compris .....

  5. #5
    Membre averti
    Femme Profil pro
    juriste
    Inscrit en
    Janvier 2017
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : juriste

    Informations forums :
    Inscription : Janvier 2017
    Messages : 23
    Par défaut
    A l'instant un autre intervenant vient de m'indiquer une ébauche à ce problème, il écrit : Le lien hypertexte doit inclure l'ID de la ligne sélectionnée en tant que paramètre, afin que le script php récepteur sache quel enregistrement charger et afficher.

    02 questions se pose:

    1- devrai je placer clé etrangere de T2 ? au sein de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    href="<?=$row['Supleta']?>
    ou bien .

    Pour rappelle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      ['id_etat'] et ['mgeg']
    ont la meme valeur qui exprime deux clés étrangères liés

    2- quel est le script php récepteur à mettre ds T2 ?

    NB : je n'utilise pas de PDO dans mes requetes

  6. #6
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    Merci de clarifier...
    C'est plutôt l'inverse que tu fais ; c'est encore plus nébuleux...Peut-être donner l'objectif sans donner de code (car le code que tu donnes augmente l'incompréhension (au moins la mienne))

  7. #7
    Membre averti
    Femme Profil pro
    juriste
    Inscrit en
    Janvier 2017
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : juriste

    Informations forums :
    Inscription : Janvier 2017
    Messages : 23
    Par défaut
    Je reprends un peu :

    Dans une page P1, j'ai crée un formulaire et une table T1, une fois le contenu de T1 affiché, j'aimerai arriver à ouvrir une autre table T2 qui se trouve dans une autre Page P2 ("30_33_gnl.php") et ce à partir d'une cellule (column) qui se trouve ds T1. la Table T2 doit s'ouvrir à la ligne qui correspond à la cellule sélectionnée ds T1 seulement. Dans la BDD les 02 tables sont liée par 02 clès etrangères nommé respectivement : ['id_etat'] et ['mgeg'].

    Pour l'instant je suis arrivé à ouvrir la page P2 (mais avec T2 vide) à partir du code ci-dessous placé dans la column de T1 nommé ['Supleta'] mais qui n'est pas le ID de T1.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <td><?php if($row['Supleta']):?><a href="<?=$row['Supleta']?>"><a target=_blank" href="30_33_gnl.php" style="text- 
     decoration:none"><?=$row['Supleta']?></a><?php else: ?><?php endif; ?></td>
    Maintenant comment charger et afficher le PHP dans T2 en incluant son ID nommé ['id_mje'] et sa clè etrangère nommé ['mgeg'].

    Désolé si j'ai mis trop de littérature mais c'est pour bien expliquer

  8. #8
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Bonsoir,

    comme je le disais au post #2, tu parles de table SQL et tu donnes un code de table html...Y a confusion ; ça peut pas marcher.

  9. #9
    Membre averti
    Femme Profil pro
    juriste
    Inscrit en
    Janvier 2017
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : juriste

    Informations forums :
    Inscription : Janvier 2017
    Messages : 23
    Par défaut
    Désolé pour la coupure;

    j'ai essayé d'améliorer le script php des 02 pages (donc 02 tables) ca ouvre la P2 à l'ID voulu (30_444_gnl.php?id=218) mais ca affiche toujours un tableau vide

    script P1 avec link amélioré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <td><?php if($row['Supleta']):?><?php echo'<a target=_blank" href="30_444_gnl.php?id=' . $row['id_etat'] .'"  style="text-decoration:none">'.$row['Supleta'].'</a>'?><?php else: ?><?php endif; ?></td>
    sur P2 (30_444_gnl.php) j'ai inclut un script php recepteur pour qu'il sache quel enregistrement charger et afficher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <tbody>
    <?php 
     
        if (isset($_POST['id_etat'])&& !empty ($_POST['id_etat'])){
     
    	$search = $_POST['id_etat'];
     
    	$sql ="SELECT * FROM (13_mje JOIN 3_oeuv ON 13_mje.mjeg = 3_oeuv.id_oeuv) JOIN 4_etat ON 4_etat.id_etat = 3_oeuv.id_oeuv WHERE 4_etat.id_etat = 13_mje.mjeg";	
    	$result = mysqli_query ($conn, $sql);	
    	while ($row = mysqli_fetch_array($result)){
    	?>			
       <tr>
            <td><?php echo $row['mjeg'];?></td>
    	<td><?php echo $row['ncfm_ttr'];?></td>
    	<td><?php echo $row['indx'];?></td>
     
    	</tr>
    <?php
    	}		
    	}
    ?>	
    </tbody>
    NB : je ne peux pas remplacer dans l'hypertext : $row['id_etat'] par la clè etrangere $row['mjeg'] car cette dernière n'est pas reconnue .
    je rappelle que les valeurs ['id_etat'] = ['id_oeuv'] = ['mjeg'] sont identiques

    Que faut il améliorer encore ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/11/2023, 21h11
  2. Réponses: 2
    Dernier message: 03/04/2007, 09h28
  3. Réponses: 5
    Dernier message: 29/03/2007, 16h00
  4. Pb pour lier une table Access à un doc Excel
    Par Rcanada dans le forum Access
    Réponses: 5
    Dernier message: 24/04/2006, 14h48
  5. Problème pour lier deux tables
    Par balabonov dans le forum Access
    Réponses: 8
    Dernier message: 21/12/2005, 13h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo