Liste déroulante et pagination

Fermé
gleine - Modifié le 2 mars 2018 à 16:29
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 13 mars 2018 à 00:33
Bonjour,



Bon alors, j'ai établi une liste déroulante dont chaque option est alimenter par une base de donnée venant de mysql.

En cliquant sur une option l'info s'affiche juste en dessous de la liste déroulante dans un system de pagination .

Le system de pagination est fonctionnel et toutes les infos s'affiche sur toutes les pages MAIS pour visionner chaque page, je dois

RESELECTIONNER l'option choisi pour ré-afficher la page suivante.

En clair,quand je clique sur une option dans la liste déroulante la page numéro "1" s'affiche correctement MAIS quand je clique sur la page numéro"2" l'info de la page "1" disparaît et plus rien ne s'affiche (la pagination disparaît) . Et là, pour voir cette fameuse page numéro "2" je suis obliger de revenir dans la liste déroulante, ensuite, re-sélectionner l'option que j'avais déja choisi pour voir la page numéro "2". Pareil pour la page "3", "4", etc. De plus on voit que la page change dans la barre d'adresse. Mais sinon toutes les pages sont bien coller à leur numéro.

Pourquoi les pages ne restent pas

Voila

6 réponses

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
2 mars 2018 à 16:46
Bonjour,

Ton problème est que le système de pagination ne transmet qu'une seule information : le numéro de la page.
Il faudrait qu'il transmette également la valeur en cours du <select>, pour que cette valeur soit repositionnée lors du rechargement.

Ceci est la théorie. Pour voir exactement, en pratique, dans ton cas, il faudrait que tu nous donnes le code du formulaire, le code PHP qui gère la pagination, et le code PHP qui gère la soumission du formulaire.

En utilisant, bien sûr, les balises "code" du forum pour que ce soit lisible :)

Xavier
0
gleine Messages postés 19 Date d'inscription vendredi 2 mars 2018 Statut Membre Dernière intervention 11 mars 2018
2 mars 2018 à 18:30
J'espère que c'est assez lisible vu mon expérience de débutant
0
gleine Messages postés 19 Date d'inscription vendredi 2 mars 2018 Statut Membre Dernière intervention 11 mars 2018
Modifié le 3 mars 2018 à 14:14
Salut Reivax962 ,

Alors je t'envoie le code du formulaire:


<form method="GET" action="" >    
      
            
            <select id="menu" name="pays" onclick="affiche(this.value)" >
                       
<script>
var crrPays="";
function affiche(pays){
  if (crrPays) document.getElementById(crrPays).style.display = "none";
  if (pays!="#") {
     document.getElementById(pays).style.display = "block";
     crrPays=pays;}     
}
</script>

   
<option value="#" selected="selected">Selectionner votre destination </option>            
<option value="argentine">Argentine </option>        
<option value="australie">Australie </option>

     </select>
      
</form>


<!--_____________argentine________________-->  
           
            
            <div id="argentine" style="display: none">
            
            <?[/php/phpintro.php3 php] include 'argentine.php' ?> 
                  
               </div>
  

<!--_____________australie________________-->  
           
            
            <div id="australie" style="display: none">
            
            <?php include 'australie.php' ?> 
                  


Edit : Ajout du langage dans les balises de code
0
gleine Messages postés 19 Date d'inscription vendredi 2 mars 2018 Statut Membre Dernière intervention 11 mars 2018
Modifié le 3 mars 2018 à 14:14
Et le code PHP:

<?php


$objetPdo = new PDO('mysql:host=127.0.0.1;dbname=annuaire','root','', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));


$videosParPage = 5;

$pdoStat = $objetPdo->query('SELECT id FROM argentine ');
$videosTotales = $pdoStat->rowCount();

$pagesTotales = ceil($videosTotales/$videosParPage);


if(isset($_GET['page']) AND !empty($_GET['page']) AND $_GET['page'] > 0 AND $_GET['page'] <= $pagesTotales) {
 $_GET['page'] = intval($_GET['page']);
 $pageCourante = $_GET['page'];
} 

else {
 $pageCourante = 1;
} 

$depart = ($pageCourante-1)*$videosParPage;

/* ------------------------------------*/

$pdoStat = $objetPdo->prepare('SELECT * FROM argentine ORDER BY id LIMIT '.$depart.','.$videosParPage );

$pdoStat->bindValue(1,'%'.$videosParPage.'%', PDO::PARAM_INT);

$pdoStat->execute();

$contacts = $pdoStat->fetchAll();

?>

Edit : Ajout du langage dans les balises de code

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="box.css">
<meta charset="utf-8">
</head>

 <body>
 
  <br>
  <br>
   
  
 <div id="box2" style="color: white" > 
  
 
          <?php foreach ($contacts as $contact): ?>
          
         <div id="box" class="box">
            <div class="photo"><?= $contact['photo'] ?></div>
             
             <div class="pictopro" title="PROFESSIONNEL  TOURISTIQUE"> <?= $contact['pictopro'] ?>  </div>
             <div class="pictoloc" title="PROFESSIONNEL  DE  LA  LOCATION"> <?= $contact['pictoloc'] ?>  </div>
           
               <p class="titre"><?= $contact['titre'] ?></p>            
              
            
           
             <div class="texte"><p><?= $contact['texte'] ?></p>
          </div>
          
          <div class="etat">( <?= $contact['etat'] ?> )</div>
           
          <a href="<?= $contact['site'] ?>" class="siteweb" target="_blank">Site Web
          </a>
               </div>                                                                                         
              <br>
              <br>   
                         
             <?php endforeach; ?>
<!--_______________________________numerotation____________________________-->             
<!-- bouton precedent -->
             
  <?php


$precedent = $pageCourante-1;
// Tu écrit ensuite ton lien de cette facon...
echo '<a style="margin-top:-5px; position:absolute; margin-left:-40px; background-color:#7e0101;" href="nightclub.php?page='.$precedent.'"><img src="imsite/left2.png" alt="precedent" ></a>'; ?>
               

<!--______________________________________________________________________-->          
             
             <?php
     for($i=1;$i<=$pagesTotales;$i++) {
      if($i == $pageCourante) {
       echo $i.' ';
      } else {
      echo '<a href="nightclub.php?page='.$i.'">'.$i.'</a> ';
          }
         }
     ?>
          
<!--________________________________________________________________________-->               

<!-- bouton suivant --> 

 <?php


$suivant = $pageCourante+1;
// Tu écrit ensuite ton lien de cette facon...
echo '<a style="margin-top:-5px; position:absolute; margin-left:8px; background-color:#7e0101" href="nightclub.php?page='.$suivant.'"><img src="imsite/right2.png" alt="suivant" ></a>'; ?>   
          
               
      
      </div>
      </body>
      </html>        
0
quelqu'un aurait une idée ...?
0
j'ai une solution qui consiste a éliminer le script mais comment rafraichir la page a chaque nouvelle option cliqué puisque quand on clique sur plusieurs choix dans le menu deroulant les choix s'accumule sur la page
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
3 mars 2018 à 14:22
Bonjour,

Déjà... commence par mettre en place les bloc TRY/CATCH pour gérer les requêtes PDO
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
(aussi bien pour le code de connexion... que pour le code de CHAQUE requête)

Ensuite, Applique ces quelques conseils concernant l'écriture de ton code :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code

NB: EMPTY vérifié déjà que la variable existe.. pas besoin d'utiliser en plus le ISSET.


Puis... L'instruction rowCount() est à éviter pour un SELECT.
=> Voir la documentation officielle...

Et enfin.. quand je vois tes requêtes .. j'ai l'impression que tu as fait une table par pays... "argentine" , "australie" ... quelle drôle d'idée....
Pourrais tu nous montrer la structure (et le contenu) des tables ?? ( en nous en mettant un DUMP )


Enfin...
Ton souci se situe au niveau de tes liens de pagination.
Tu ne passes que le numéro de page... et pas le "pays".
Donc quand la page se recharge... normal que ton select se réinitialise....
Il faudra aussi gérer les display none/block en fonction de la variable PAYS que tu auras ajouté dans tes URL afin de ne pas avoir à cliquer sur le select pour que ça te ré-affiche tes bloques.

Commence par appliquer les infos des liens que je t'ai donné... montres nous ton code modifié ... et on verra pour te le corriger.
0
Salut Jordane45,

Bon je me met tout de suite au boulot...je te tiens au courant
0
Voila le php : j'ai enlever le "isset" et laisser "empty"; activer les messages d'erreurs; remplacer le "rowCount" par "query" mais ça me donne une erreur((" je sens que je vais me faire tapez dessus")).
Par contre sans le "javascript" j'ai du mal a gérer l'affichage des options et je vois pas comment faire pour gérer le display autrement....
Et oui, j'ai créer une table pour chaque pays qui compose la BDD et je vois pas comment faire d'autres vu que chaque pays à une dizaine de colonne avec des infos différentes.
0
gleine Messages postés 19 Date d'inscription vendredi 2 mars 2018 Statut Membre Dernière intervention 11 mars 2018
Modifié le 4 mars 2018 à 16:38
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="box.css">
<meta charset="utf-8">
</head>

 <body>

<?php

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

$objetPdo = new PDO('mysql:host=127.0.0.1;dbname=annuaire','root','', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));

$videosParPage = 5;

$pdoStat = $objetPdo->query('SELECT id FROM argentine ');
$videosTotales = $pdoStat->query();

$pagesTotales = ceil($videosTotales/$videosParPage);

if(!empty($_GET['pays']) AND $_GET['pays'] > 0 AND $_GET['pays'] <= $pagesTotales) {
 $_GET['pays'] = intval($_GET['pays']);
 $pageCourante = $_GET['pays'];
} 

else {
 $pageCourante = 1;
} 

$depart = ($pageCourante-1)*$videosParPage;


$pdoStat = $objetPdo->prepare('SELECT * FROM argentine ORDER BY id LIMIT '.$depart.','.$videosParPage );

$pdoStat->bindValue(1,'%'.$videosParPage.'%', PDO::PARAM_INT);

$pdoStat->execute();

$contacts = $pdoStat->fetchAll();

?>

<div id="box2" style="color: white" > 
  
 
       <?php foreach ($contacts as $contact): ?>
          
             <div id="box" class="box">

                        <div class="photo"><?= $contact['photo'] ?></div>
                  <div class="pictopro" title="PROFESSIONNEL  TOURISTIQUE"> <?= $contact['pictopro'] ?>  </div>
                  <div class="pictoloc" title="PROFESSIONNEL  DE  LA  LOCATION"<?$contact['pictoloc']?>  </div>
            <p class="titre"><?= $contact['titre'] ?></p>            
            <div class="texte"><p><?= $contact['texte'] ?></p></div>
                 <div class="etat">( <?= $contact['etat'] ?> )</div>
            <a href="<?= $contact['site'] ?>" class="siteweb" target="_blank">Site Web</a>

               </div>  
                                                                                       
                <br>
                <br>   
                         
      <?php endforeach; ?>
             
<!-- bouton precedent -->

<?php
$precedent = $pageCourante-1;

echo '<a style="margin-top:-5px; position:absolute; margin-left:-40px; background-color:#7e0101;" href="nightclub.php?pays='.$precedent.'"><img src="imsite/left2.png" alt="precedent" ></a>'; 
?>
 
<!-- pagination --> 
                       
 <?php
     for($i=1;$i<=$pagesTotales;$i++) {
      if($i == $pageCourante) {
       echo $i.' ';
      } else {
      echo '<a href="nightclub.php?pays='.$i.'">'.$i.'</a> ';
          }
?>
 <!-- bouton suivant --> 

 <?php
$suivant = $pageCourante+1;

echo '<a style="margin-top:-5px; position:absolute; margin-left:8px; background-color:#7e0101" href="nightclub.php?pays='.$suivant.'"><img src="imsite/right2.png" alt="suivant" ></a>';
 ?>   
          
    </div>
  </body>
 </html> 




EDIT : Ajout des balises de code ( .. encore ... )
0
gleine Messages postés 19 Date d'inscription vendredi 2 mars 2018 Statut Membre Dernière intervention 11 mars 2018
4 mars 2018 à 13:34
C'est a peu près ça ?
0
Personne......
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
4 mars 2018 à 16:40
Ou sont les blocs try/catch pour la gestion des erreurs PDO ?
Ou est la récupéraiton "propre" des variables AVANT de les utiliser ?
Pourquoi n'as tu pas mis le maximum de code PHP .. AVANT ton code html ?

Tu es sûr d'avoir lu les liens que je t'ai donné ???
0
gleine Messages postés 19 Date d'inscription vendredi 2 mars 2018 Statut Membre Dernière intervention 11 mars 2018
Modifié le 4 mars 2018 à 17:19
Ben je pensait que le PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION suffirait plus l'affichage des erreurs...mais bon j'ai mis les blocs comme tu me conseille.
Pour la récupération des variables j'ai bien fait non....! J'ai utiliser seulement "!empty".
Et pour le reste du code php, j'ai laisser le reste du code en bas parce que la pagination se situe en dessous du html. Si je met le code de pagination avant le html se sera pas la bonne position puisque je le veut en dessous
0
gleine Messages postés 19 Date d'inscription vendredi 2 mars 2018 Statut Membre Dernière intervention 11 mars 2018
4 mars 2018 à 17:49

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="box.css">
<meta charset="utf-8">
</head>

<body>

<?php

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

try {

$objetPdo = new PDO('mysql:host=127.0.0.1;dbname=annuaire','root','', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));

$videosParPage = 5;

$pdoStat = $objetPdo->query('SELECT id FROM argentine ');
$videosTotales = $pdoStat->query();

$pagesTotales = ceil($videosTotales/$videosParPage);

} catch(PDOException $e) {
die('Erreur : ' . $e->getMessage());
}

if(!empty($_GET['pays']) AND $_GET['pays'] > 0 AND $_GET['pays'] <= $pagesTotales) {
$_GET['pays'] = intval($_GET['pays']);
$pageCourante = $_GET['pays'];
}

else {
$pageCourante = 1;
}

$depart = ($pageCourante-1)*$videosParPage;


$pdoStat = $objetPdo->prepare('SELECT * FROM argentine ORDER BY id LIMIT '.$depart.','.$videosParPage );

$pdoStat->bindValue(1,'%'.$videosParPage.'%', PDO::PARAM_INT);

$pdoStat->execute();

$contacts = $pdoStat->fetchAll();

?>

<!-- bouton precedent -->

<?php
$precedent = $pageCourante-1;

echo '<a style="margin-top:-5px; position:absolute; margin-left:-40px; background-color:#7e0101;" href="nightclub.php?pays='.$precedent.'"><img src="imsite/left2.png" alt="precedent" ></a>';
?>

<!-- pagination -->

<?php
for($i=1;$i<=$pagesTotales;$i++) {
if($i == $pageCourante) {
echo $i.' ';
} else {
echo '<a href="nightclub.php?pays='.$i.'">'.$i.'</a> ';
}
?>

<!-- bouton suivant -->

<?php
$suivant = $pageCourante+1;

echo '<a style="margin-top:-5px; position:absolute; margin-left:8px; background-color:#7e0101" href="nightclub.php?pays='.$suivant.'"><img src="imsite/right2.png" alt="suivant" ></a>';
?>




<div id="box2" style="color: white" >


<?php foreach ($contacts as $contact): ?>

<div id="box" class="box">

<div class="photo"><?= $contact['photo'] ?></div>
<div class="pictopro" title="PROFESSIONNEL TOURISTIQUE"> <?= $contact['pictopro'] ?> </div>
<div class="pictoloc" title="PROFESSIONNEL DE LA LOCATION"<?$contact['pictoloc']?> </div>
<p class="titre"><?= $contact['titre'] ?></p>
<div class="texte"><p><?= $contact['texte'] ?></p></div>
<div class="etat">( <?= $contact['etat'] ?> )</div>
<a href="<?= $contact['site'] ?>" class="siteweb" target="_blank">Site Web</a>

</div>

<br>
<br>

<?php endforeach; ?>





</div>
</body>
</html>

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
7 mars 2018 à 23:04
Faut que tu te formes un minimum ....
Sur ce qu'est une Base de donnée RELATIONNELLE ... et donc les Jointure et donc les clés étrangères....
Si tu avais fait un MCD avant de te lancer dans ton code.. je pense que tu aurais pu trouver la structure qui te conviendrait réellement... efficace et évolutive.

Comme une image est parfois plus simple que du blabla... voila :


Tu noteras que les couleurs identiques te montrent les rapports entre les différentes données des tables.

J'espère que c'est plus clair comme ça.

0
Je vois.....bon eh bien, je médite un peu sur le sujet...
0
gleine Messages postés 19 Date d'inscription vendredi 2 mars 2018 Statut Membre Dernière intervention 11 mars 2018
11 mars 2018 à 13:49
Salut Jordane45,

Voila, je pense avoir un peu piger le truc concernant les tables.
J'ai bien compris que les données qui se répète peuvent être introduit dans une table, et récupérer grâce à leur " ID " pour la jointure. J'étais vraiment loin du compte apparemment. Ceci étant dit, cela résout mon problème de distinction des données entre chaque onglet du menu.
La résultante est une table pour chaque onglet plus deux autres tables concernant les pays et les images comme tu me l'a conseiller. Je t'envoie le SQL pour visionnage.


--
-- Base de données :  `annuaire`
--

-- --------------------------------------------------------

--
-- Structure de la table `restaurant`
--

CREATE TABLE `restaurant` (
  `id restaurant` int(11) NOT NULL,
  `photo` varchar(50) NOT NULL,
  `titre` varchar(50) NOT NULL,
  `texte` text NOT NULL,
  `etat` varchar(50) NOT NULL,
  `site` varchar(50) NOT NULL,
  `id picto` int(10) NOT NULL,
  `id pays` int(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Structure de la table `pays`
--

CREATE TABLE `pays` (
  `id pays` int(11) NOT NULL,
  `pays` varchar(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Contenu de la table `pays`
--

INSERT INTO `pays` (`id pays`, `pays`) VALUES
(1, 'afghanistan'),
(2, 'afriquecentrale'),
(3, 'afriquedusud'),
(4, 'albanie'),
(5, 'algerie'),
(6, 'allemagne'),
(7, 'andorre'),
(8, 'angola'),
(9, 'anguilla'),
(10, 'arabiesaoudite'),
(11, 'argentine'),
(12, 'australie'),
(13, 'autriche'),
(14, 'azerbaidjan'),
(15, 'bahamas'),
(16, 'bangladesh'),
(17, 'barbade'),
(18, 'bahrein'),
(19, 'belgique'),
(20, 'belize'),
(21, 'benin'),
(22, 'bermudes'),
(23, 'bielorussie'),
(24, 'bolivie'),
(25, 'botswana'),
(26, 'bhoutan'),
(27, 'boznieherzegovine'),
(28, 'bresil'),
(29, 'brunei'),
(30, 'bulgarie'),
(31, 'burkinafaso'),
(32, 'burundi'),
(33, 'caiman'),
(34, 'cambodge'),
(35, 'cameroun'),
(36, 'canada'),
(37, 'canaries'),
(38, 'capvert'),
(39, 'chili'),
(40, 'chine'),
(41, 'chypre'),
(42, 'colombie'),
(43, 'comores'),
(44, 'congo'),
(45, 'congodemocratique'),
(46, 'cook'),
(47, 'coreedunord'),
(48, 'coreedusud'),
(49, 'costarica'),
(50, 'cotedivoire'),
(51, 'croatie'),
(52, 'cuba'),
(53, 'danemark'),
(54, 'djibouti'),
(55, 'dominique'),
(56, 'egypte'),
(57, 'emiratsarabesunis'),
(58, 'equateur'),
(59, 'erythree'),
(60, 'espagne'),
(61, 'estonie'),
(62, 'etatsunis'),
(63, 'ethiopie'),
(64, 'falkland'),
(65, 'feroe'),
(66, 'fidji'),
(67, 'finlande'),
(68, 'france'),
(69, 'gabon'),
(70, 'gambie'),
(71, 'georgie'),
(72, 'ghana'),
(73, 'gibraltar'),
(74, 'grece'),
(75, 'grenade'),
(76, 'groenland'),
(77, 'guadeloupe'),
(78, 'guam'),
(79, 'guatemala'),
(80, 'guernesey'),
(81, 'guinee'),
(82, 'guineebissau'),
(83, 'guineeequatoriale'),
(84, 'guyana'),
(85, 'guyanefrancaise'),
(86, 'haiti'),
(87, 'hawaii'),
(88, 'honduras'),
(89, 'hongkong'),
(90, 'hongrie'),
(91, 'inde'),
(92, 'indonesie'),
(93, 'iran'),
(94, 'iraq'),
(95, 'irlande'),
(96, 'islande'),
(97, 'israel'),
(98, 'italie'),
(99, 'jamaique'),
(100, 'janmayen'),
(101, 'japon'),
(102, 'jersey'),
(103, 'jordanie'),
(104, 'kazakhstan'),
(105, 'kenya'),
(106, 'kirghizistan'),
(107, 'kiribati'),
(108, 'koweit'),
(109, 'laos'),
(110, 'lesotho'),
(111, 'lettonie'),
(112, 'liban'),
(113, 'liberia'),
(114, 'liechtenstein'),
(115, 'lituanie'),
(116, 'luxembourg'),
(117, 'lybie'),
(118, 'macao'),
(119, 'macedoine'),
(120, 'madagascar'),
(121, 'madère'),
(122, 'malaisie'),
(123, 'malawi'),
(124, 'maldives'),
(125, 'mali'),
(126, 'malte'),
(127, 'man'),
(128, 'mariannesdunord'),
(129, 'maroc'),
(130, 'marshall'),
(131, 'martinique'),
(132, 'maurice'),
(133, 'mauritanie'),
(134, 'mayotte'),
(135, 'mexique'),
(136, 'micronesie'),
(137, 'midway'),
(138, 'moldavie'),
(139, 'monaco'),
(140, 'mongolie'),
(141, 'montserrat'),
(142, 'mozambique'),
(143, 'namibie'),
(144, 'nauru'),
(145, 'nepal'),
(146, 'nicaragua'),
(147, 'niger'),
(148, 'nigeria'),
(149, 'niue'),
(150, 'norfolk'),
(151, 'norvege'),
(152, 'nouvellecaledonie'),
(153, 'nouvellezelande'),
(154, 'oman'),
(155, 'ouganda'),
(156, 'ouzbekistan'),
(157, 'pakistan'),
(158, 'palau'),
(159, 'palestine'),
(160, 'panama'),
(161, 'papouasienouvelleguinee'),
(162, 'paraguay'),
(163, 'paysbas'),
(164, 'perou'),
(165, 'philippines'),
(166, 'pologne'),
(167, 'polynesie'),
(168, 'portorico'),
(169, 'portugal'),
(170, 'qatar'),
(171, 'republiquedominicaine'),
(172, 'republiquetcheque'),
(173, 'reunion'),
(174, 'roumanie'),
(175, 'royaumeuni'),
(176, 'russie'),
(177, 'rwanda'),
(178, 'saharaoccidental'),
(179, 'saintelucie'),
(180, 'saintmartin'),
(181, 'salomon'),
(182, 'salvador'),
(183, 'samoaoccidentales'),
(184, 'samoaamericaine'),
(185, 'saotomeetprincipe'),
(186, 'senegal'),
(187, 'seychelles'),
(188, 'sierraleone'),
(189, 'singapour'),
(190, 'slovaquie'),
(191, 'slovenie'),
(192, 'somalie'),
(193, 'soudan'),
(194, 'srilanka'),
(195, 'suede'),
(196, 'suisse'),
(197, 'surinam'),
(198, 'swaziland'),
(199, 'syrie'),
(200, 'tadjikistan'),
(201, 'taiwan'),
(202, 'tonga'),
(203, 'tanzanie'),
(204, 'tchad'),
(205, 'thailande'),
(206, 'tibet'),
(207, 'timororiental'),
(208, 'togo'),
(209, 'triniteettobago'),
(210, 'tristandecuncha'),
(211, 'tunisie'),
(212, 'turmenistan'),
(213, 'turquie'),
(214, 'ukraine'),
(215, 'uruguay'),
(216, 'vanuatu'),
(217, 'vatican'),
(218, 'venezuela'),
(219, 'ilesviergesUS'),
(220, 'ilesviergesEN'),
(221, 'vietnam'),
(222, 'wake'),
(223, 'wallisetfutuma'),
(224, 'yemen'),
(225, 'yougoslavie'),
(226, 'zambie'),
(227, 'zimbabwe');

-- --------------------------------------------------------

--
-- Structure de la table `picto`
--

CREATE TABLE `picto` (
  `id picto` int(11) NOT NULL,
  `picto` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Contenu de la table `picto`
--

INSERT INTO `picto` (`id picto`, `picto`) VALUES
(1, '<img src="imsite/pictopro.jpg" />'),
(2, '<img src="imsite/pictoloc.jpg" />'),
(3, '<img src="imsite/pictoloc.jpg" />\r\n<img src="imsite/pictopro.jpg" />');

-- --------------------------------------------------------

--
-- Index pour les tables exportées
--

--
-- Index pour la table `restaurant`
--
ALTER TABLE `restaurant`
  ADD PRIMARY KEY (`id restaurant`);

--
-- Index pour la table `pays`
--
ALTER TABLE `pays`
  ADD PRIMARY KEY (`id pays`);

--
-- Index pour la table `picto`
--
ALTER TABLE `picto`
  ADD PRIMARY KEY (`id picto`);

--
-- AUTO_INCREMENT pour les tables exportées
--

--
-- AUTO_INCREMENT pour la table `restaurant`
--
ALTER TABLE `restaurant`
  MODIFY `id restaurant` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT pour la table `pays`
--
ALTER TABLE `pays`
  MODIFY `id pays` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=228;
--
-- AUTO_INCREMENT pour la table `picto`
--
ALTER TABLE `picto`
  MODIFY `id picto` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
11 mars 2018 à 13:53
Tu comptes avoir la possibilité d'avoir plusieurs images pour un même restaurant ou pas ?
Si oui... il faut retirer le champ `id picto` de la table `restaurant`
et ajouter un champ 'id_restaurant' dans la table des pictos
0
gleine Messages postés 19 Date d'inscription vendredi 2 mars 2018 Statut Membre Dernière intervention 11 mars 2018
11 mars 2018 à 14:29
Oui oui...c'est fait
0
gleine Messages postés 19 Date d'inscription vendredi 2 mars 2018 Statut Membre Dernière intervention 11 mars 2018
11 mars 2018 à 15:12
J'aurais une question sur la " liaison formulaire " et " base de donnée ".
Dans mon site il y a une partie souscription où les internautes pourront intégrer leurs informations afin de le poster sur le site. J'ai l'intention de récupérer ces données dans une table, en vérifier le contenue avec phpmyadmin pour savoir si c'est valable ou pas, et par la suite remplir la table correspondante manuellement. Le but est de contrôler les infos avant de les mettre sur le site.
Est ce une bonne technique ?????
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
11 mars 2018 à 17:14
Normalement... nouvelle question = ouverture d'une nouvelle discussion....

Mais bon...
Pas terrible comme solution.
Pourquoi ne pas :
- Stocker les infos directement dans la bonne table et mettre un champ (une colonne supplémentaire à créer dans ta table...) que tu mettras à 0 ou 1 pour indiquer si il faut les "activer" ou non
- Et prévoir une page d'administration qui t'afficherai toutes les infos de cette table et te permettrait de mettre à 0 ou 1 celles qui sont bonnes
- Pour finir, n'afficher sur les pages de ton site que celles étant "actives" (donc à 1 )

Ca fait quelques lignes de code en plus à faire .... mais ça t'évitera d'aller "bidouiller" dans phpmyadmin par la suite.
C'est plus propre et plus "pro".
0
gleine Messages postés 19 Date d'inscription vendredi 2 mars 2018 Statut Membre Dernière intervention 11 mars 2018
11 mars 2018 à 17:27
Ok désoler pour le changement de sujet...bon eh bien je retourne à ma pagination afin de trouver une solution...
0
gleinense Messages postés 10 Date d'inscription dimanche 11 mars 2018 Statut Membre Dernière intervention 19 mars 2018
Modifié le 12 mars 2018 à 14:49
aaaaaaaaaaaaaaaaahhhhhhhhhh...................
De l'aide j'y comprend que dalle.................pppfffffffff.............mon cerveau va exploser.
Je veux bien des explications sur la démarche à suivre
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > gleinense Messages postés 10 Date d'inscription dimanche 11 mars 2018 Statut Membre Dernière intervention 19 mars 2018
12 mars 2018 à 18:22
Des explications on t'en a déjà donné pleins ...

Si tu veux de l'aide il faut que tu nous indiques clairement où tu en es !!!!
- Quelle est ta structure actuelle de tes tables ?
- Quel code essayes tu actuellement de modifier pour le faire fonctionner ?

Si tu ne fais aucun effort de rédaction de tes questions ... personne ne pourra / voudra t'aider !
0
gleinense Messages postés 10 Date d'inscription dimanche 11 mars 2018 Statut Membre Dernière intervention 19 mars 2018
12 mars 2018 à 18:43
Ben j'en suis toujours à ma pagination. C'est étrange, je ne trouve aucun sujet sur la question..et quand je trouve un sujet qui correspond à mon problème, personne ne donne la solution ( l'exemple type).Ma table actuel est la suivante :

--
-- Structure de la table `restaurant`
--

CREATE TABLE `restaurant` (
  `id restaurant` int(11) NOT NULL,
  `photo` varchar(50) NOT NULL,
  `titre` varchar(50) NOT NULL,
  `texte` text NOT NULL,
  `etat` varchar(50) NOT NULL,
  `site` varchar(50) NOT NULL,
  `id pays` int(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------


--
-- Structure de la table `pays`
--

CREATE TABLE `pays` (
  `id pays` int(11) NOT NULL,
  `pays` varchar(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Contenu de la table `pays`
--

INSERT INTO `pays` (`id pays`, `pays`) VALUES
(1, 'afghanistan'),
(2, 'afriquecentrale'),
(3, 'afriquedusud'),
(4, 'albanie'),
(5, 'algerie'),
(6, 'allemagne'),
(7, 'andorre'),
(8, 'angola'),
(9, 'anguilla'),
(10, 'arabiesaoudite'),
(11, 'argentine'),
(12, 'australie'),
(13, 'autriche'),
(14, 'azerbaidjan'),
(15, 'bahamas'),
(16, 'bangladesh'),
(17, 'barbade'),
(18, 'bahrein'),
(19, 'belgique'),
(20, 'belize'),
(21, 'benin'),
(22, 'bermudes'),
(23, 'bielorussie'),
(24, 'bolivie'),
(25, 'botswana'),
(26, 'bhoutan'),
(27, 'boznieherzegovine'),
(28, 'bresil'),
(29, 'brunei'),
(30, 'bulgarie'),
(31, 'burkinafaso'),
(32, 'burundi'),
(33, 'caiman'),
(34, 'cambodge'),
(35, 'cameroun'),
(36, 'canada'),
(37, 'canaries'),
(38, 'capvert'),
(39, 'chili'),
(40, 'chine'),
(41, 'chypre'),
(42, 'colombie'),
(43, 'comores'),
(44, 'congo'),
(45, 'congodemocratique'),
(46, 'cook'),
(47, 'coreedunord'),
(48, 'coreedusud'),
(49, 'costarica'),
(50, 'cotedivoire'),
(51, 'croatie'),
(52, 'cuba'),
(53, 'danemark'),
(54, 'djibouti'),
(55, 'dominique'),
(56, 'egypte'),
(57, 'emiratsarabesunis'),
(58, 'equateur'),
(59, 'erythree'),
(60, 'espagne'),
(61, 'estonie'),
(62, 'etatsunis'),
(63, 'ethiopie'),
(64, 'falkland'),
(65, 'feroe'),
(66, 'fidji'),
(67, 'finlande'),
(68, 'france'),
(69, 'gabon'),
(70, 'gambie'),
(71, 'georgie'),
(72, 'ghana'),
(73, 'gibraltar'),
(74, 'grece'),
(75, 'grenade'),
(76, 'groenland'),
(77, 'guadeloupe'),
(78, 'guam'),
(79, 'guatemala'),
(80, 'guernesey'),
(81, 'guinee'),
(82, 'guineebissau'),
(83, 'guineeequatoriale'),
(84, 'guyana'),
(85, 'guyanefrancaise'),
(86, 'haiti'),
(87, 'hawaii'),
(88, 'honduras'),
(89, 'hongkong'),
(90, 'hongrie'),
(91, 'inde'),
(92, 'indonesie'),
(93, 'iran'),
(94, 'iraq'),
(95, 'irlande'),
(96, 'islande'),
(97, 'israel'),
(98, 'italie'),
(99, 'jamaique'),
(100, 'janmayen'),
(101, 'japon'),
(102, 'jersey'),
(103, 'jordanie'),
(104, 'kazakhstan'),
(105, 'kenya'),
(106, 'kirghizistan'),
(107, 'kiribati'),
(108, 'koweit'),
(109, 'laos'),
(110, 'lesotho'),
(111, 'lettonie'),
(112, 'liban'),
(113, 'liberia'),
(114, 'liechtenstein'),
(115, 'lituanie'),
(116, 'luxembourg'),
(117, 'lybie'),
(118, 'macao'),
(119, 'macedoine'),
(120, 'madagascar'),
(121, 'madère'),
(122, 'malaisie'),
(123, 'malawi'),
(124, 'maldives'),
(125, 'mali'),
(126, 'malte'),
(127, 'man'),
(128, 'mariannesdunord'),
(129, 'maroc'),
(130, 'marshall'),
(131, 'martinique'),
(132, 'maurice'),
(133, 'mauritanie'),
(134, 'mayotte'),
(135, 'mexique'),
(136, 'micronesie'),
(137, 'midway'),
(138, 'moldavie'),
(139, 'monaco'),
(140, 'mongolie'),
(141, 'montserrat'),
(142, 'mozambique'),
(143, 'namibie'),
(144, 'nauru'),
(145, 'nepal'),
(146, 'nicaragua'),
(147, 'niger'),
(148, 'nigeria'),
(149, 'niue'),
(150, 'norfolk'),
(151, 'norvege'),
(152, 'nouvellecaledonie'),
(153, 'nouvellezelande'),
(154, 'oman'),
(155, 'ouganda'),
(156, 'ouzbekistan'),
(157, 'pakistan'),
(158, 'palau'),
(159, 'palestine'),
(160, 'panama'),
(161, 'papouasienouvelleguinee'),
(162, 'paraguay'),
(163, 'paysbas'),
(164, 'perou'),
(165, 'philippines'),
(166, 'pologne'),
(167, 'polynesie'),
(168, 'portorico'),
(169, 'portugal'),
(170, 'qatar'),
(171, 'republiquedominicaine'),
(172, 'republiquetcheque'),
(173, 'reunion'),
(174, 'roumanie'),
(175, 'royaumeuni'),
(176, 'russie'),
(177, 'rwanda'),
(178, 'saharaoccidental'),
(179, 'saintelucie'),
(180, 'saintmartin'),
(181, 'salomon'),
(182, 'salvador'),
(183, 'samoaoccidentales'),
(184, 'samoaamericaine'),
(185, 'saotomeetprincipe'),
(186, 'senegal'),
(187, 'seychelles'),
(188, 'sierraleone'),
(189, 'singapour'),
(190, 'slovaquie'),
(191, 'slovenie'),
(192, 'somalie'),
(193, 'soudan'),
(194, 'srilanka'),
(195, 'suede'),
(196, 'suisse'),
(197, 'surinam'),
(198, 'swaziland'),
(199, 'syrie'),
(200, 'tadjikistan'),
(201, 'taiwan'),
(202, 'tonga'),
(203, 'tanzanie'),
(204, 'tchad'),
(205, 'thailande'),
(206, 'tibet'),
(207, 'timororiental'),
(208, 'togo'),
(209, 'triniteettobago'),
(210, 'tristandecuncha'),
(211, 'tunisie'),
(212, 'turmenistan'),
(213, 'turquie'),
(214, 'ukraine'),
(215, 'uruguay'),
(216, 'vanuatu'),
(217, 'vatican'),
(218, 'venezuela'),
(219, 'ilesviergesUS'),
(220, 'ilesviergesEN'),
(221, 'vietnam'),
(222, 'wake'),
(223, 'wallisetfutuma'),
(224, 'yemen'),
(225, 'yougoslavie'),
(226, 'zambie'),
(227, 'zimbabwe');

-- --------------------------------------------------------

--
-- Structure de la table `picto`
--

CREATE TABLE `picto` (
  `id picto` int(11) NOT NULL,
  `id restaurant` int(10) NOT NULL,
  `picto` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Contenu de la table `picto`
--

INSERT INTO `picto` (`id picto`, `id restaurant`, `picto`) VALUES
(1, 0, '<img src="imsite/pictopro.jpg" />'),
(2, 0, '<img src="imsite/pictoloc.jpg" />'),

-- --------------------------------------------------------

--
-- Index pour les tables exportées
--

--
-- Index pour la table `restaurant`
--
ALTER TABLE `restaurant`
  ADD PRIMARY KEY (`id restaurant`);

--
-- Index pour la table `pays`
--
ALTER TABLE `pays`
  ADD PRIMARY KEY (`id pays`);

--
-- Index pour la table `picto`
--
ALTER TABLE `picto`
  ADD PRIMARY KEY (`id picto`);

--
-- AUTO_INCREMENT pour les tables exportées
--

--
-- AUTO_INCREMENT pour la table `restaurant`
--
ALTER TABLE `restaurant`
  MODIFY `id restaurant` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `pays`
--
ALTER TABLE `pays`
  MODIFY `id pays` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=228;
--
-- AUTO_INCREMENT pour la table `picto`
--
ALTER TABLE `picto`
  MODIFY `id picto` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
0