Sélection de mot commençant par la même lettre

Par Dieunel le 03 Août 2020 à 09:25 (Édité) 13 59

Bonjour,


j'ai un code qui fonctionne, ça m'affiche lorsque je click sur une ancre " A" , toutes les réferences liées au theme MANGA qui commencent par la lettre A.

Ceci dit, il faudrait que je fasse un copié collé sur toutes les DIV intégrant les letres A a la lettre Z car mon code n'est que pour une seule lettre !

Quelqu'un aurait une idée pour optimiser mon code ? de façon a ce que se soit moins répétitif ?

Peut êtres dans une fonction ? mais je ne sais pas trop les utiliser je m'y connais trop mal,,,


Merci pour vos réponses


<div class="conteneur_lettres" ><p>A</p></div>
								
  <ul class="references" id="style-A">										      <?php 
										$a=mysqli_query($con,"select * from product	where product.categories_id = '59' AND name like 'A%'											");
											$a_array=array();
																					while($a_row=mysqli_fetch_assoc($a))
{
 $a_array[]=$a_row;  										   
}
											if(count($a_array)>0)
{							                 foreach($a_array as $list_a)									            {
										                ?> 
										                    <li>									                        <a href="categories.php?id=<?php echo $list_a['id']?>">						                           
										                            <img src="<?php echo PRODUCT_IMAGE_SITE_PATH.$list_a['image']?>">
										                             <p class="p" style="color: white"><?php echo $list_a['name']?></p>
										                        </a>
										                    </li>
										                <?php
										            }
												}else{
													echo '<div style="position: absolute;"><h1 style="color: white;">Aucunes références à cette lettre</h1></div>';
												}
?>	
</ul>
</div>
Cette pub permet au site de vivre ...

13 commentaires

Tu veux participer ?
Alors connecte toi ou inscris toi et viens participer !

Re:


Il te suffit juste de convetir ton code MYSQLI en PDO 😉

Bonsoir @Clouder et @Jerem971


Ah bah autant pour moi alors. Il va falloir que je revois tout mon code alors :( :( :(

Bonjour @Dieunel,


Je ne recommanderais pas MYSQLI car c'est obsolète et il comporte aussi de nombreuses failles de sécurité notamment pour les débutants.

Re:


Si tu veux me mentionner, écris mon pseudo correctement ahah 😅


Et non, @Clouder recommande PDO, voilà pourquoi :


  • MYSQL = obsolète
  • MYSQLI = bientôt obsolète
  • PDO = à jour


Il faut bien lire les articles de formations 😁 Ah moins que je me trompe, montre-moi l'article ou @Clouder recommande MYSQLI 😅

@Jerem971 Bonjour,


Et bien j'ai lu que maintenant il fallait utiliser MSQLI, il me semble même que @Clouder le recommande .


je vais refaire ma recherche alors pour poster l'article en quéstion.


Mon navigateur se met a jour tout seul.

Re:


Assure-toi d'avoir la dernière version de tes navigateurs pour éviter ce type de bugs...

Une question : pourquoi utilises-tu MYSQLI ? Ce n'était pas PDO par hasard ?

Sans l'article ou le tutoriel vidéo j'aurais du mal à t'aider... Il me faut la source du code...

re @Jerem971


Je remarque que mon code est de nouveau décalé. A l'édition il est comme ça :


@Jerem971


La documentation m'a aidé a savoir ce que je peux faire avec cette fonction substr(), Mais pas plus car je n'arrive pas a l'utiliser pour récupéré les lettres de ma table.


Procédons par étape pour que ce soit plus propre pour vous et pour moi :


j'ai une page function.php dans laquelle il y a déjà quelques fonctions que je n'ai pas créées.


Reprenons mon code qui fonctionne dans la page manga.php:


<?php 
  $a=mysqli_query($con,"select * from product
  where product.categories_id = '59' AND name like 'A%'");
    $a_array=array();

    while($a_row=mysqli_fetch_assoc($a))
    	{
    		$a_array[]=$a_row;  
        }
        											
    if(count($a_array)>0)
      {
         foreach($a_array as $list_a)
           {
              ?> 
                 <li>
                  	 <a href="categories.php?id=<?php echo $list_a['id']?>">
              			<img src="<?php echo PRODUCT_IMAGE_SITE_PATH.$list_a['image']?>">
    					<p class="p" style="color: white"><?php echo $list_a['name']?></p>
  					</a>
  				 </li>
    		  <?php
    		}
      }else{
      		 echo '<div style="position: absolute;"><h1 style="color: white;">Aucunes références à cette lettre</h1></div>';
        	}
?>


Comment est ce que je peux faire appel a la fonction qui serrait créée dans la page function.php sur celle de la page manga.php

(j'aurais du coup la chose suivante)


page function.php


function alphabet()
{
   $a=mysqli_query($con,"select * from product
  where product.categories_id = '59' AND name like 'A%'");
    $a_array=array();

    while($a_row=mysqli_fetch_assoc($a))
    	{
    		$a_array[]=$a_row;  
        }
        											
    if(count($a_array)>0)
      {
         foreach($a_array as $list_a)
           {
              ?> 
                 <li>
                  	 <a href="categories.php?id=<?php echo $list_a['id']?>">
              			<img src="<?php echo PRODUCT_IMAGE_SITE_PATH.$list_a['image']?>">
    					<p class="p" style="color: white"><?php echo $list_a['name']?></p>
  					</a>
  				 </li>
    		  <?php
    		}
      }else{
      		 echo '<div style="position: absolute;"><h1 style="color: white;">Aucunes références à cette lettre</h1></div>';
        	} 
 }


et sur ma page manga.php je créais une variable égale a ma fonction alphabet()


$alphabet = alphabet();


ça me marque qu'il y a une erreur au niveau de "while", donc surement lorsque je fais appel a ma base de donnée dans la variable $a.


Peut êtres que j'arriverais mieux a utiliser la documentation que tu m'as fournie @Jerem971 si je passais par la page function.php au lieu de marquer le code sur la page principale.


Qu'est ce que tu en penses ?

Re:


D'accord, je vais en parler à @Clouder...

Est-ce que la documentation t'a aidé ? 🤔

@Jerem971


Les espaces inutiles c’est sûrement dû à un bug je pense car il n’y en avait pas quand j’ai édité.


Je ne sais plus c’était un lien sur you tube .j’ai juste regardé comment s’utiliser substr() Et essaye de l’adapter à mon code .

Cette pub permet au site de vivre ...