vous mettre de confusion en utilisant des mots qui ont une autre signification pour vous.
Voilà, j'ai tenté de modifier un code php qui est censé afficher une liste selon deux critère différents que l'utilisateur
peur sélectionner indépendamment l'un de l'autre.
La région ET / OU la catégorie (table "branche" dans mysql)... Seulement voilà, dans mon code à a base il n'y avait que le choix de tri
par région et je cherche depuis des heures comment ajouter le critère de tri par catégorie de façon à limiter le nombre
de résultats dans ma liste. EN gros, si on sélectionne juste la région ça fait beaucoup de résultat, alors que si
on sélectionne en plus la catégorie on affine.
Je précise (ce dont vous allez vite vous rendre compte) que je ne suis pas du tout programmeuse php, j'aime bien
apprendre, mais là, je vois bien que je pédale dans la bouillie. Alors j'ai touché un peu au code... voici ce que ça donne
ci-dessous...
Je suis sûre que pour vous ça prends 5 minutes, il faut juste repérer les erreurs que j'ai faites et ce que j'ai forcément oublié.
Pour voir le résultat actuel c'est ici :
http://s166013714.onlinehome.fr/prime-s ... ormatique/
Voilà, j'espère qu'un jour je serais assez bonne pour aider à mon tour...
<?php
//echo "<pre>"; print_r($_GET); echo "</pre>";
$mylink = $wpdb->get_results("SELECT DISTINCT region FROM `outils_informatiques`");
global $post;
$id = 1;
if($_POST['reg']){ $_SESSION['reg'] = $_POST['reg'];
}
?>
<?php
//echo "<pre>"; print_r($_GET); echo "</pre>";
$mylink2 = $wpdb->get_results("SELECT DISTINCT branche FROM `outils_informatiques`");
global $post;
$id = 2;
if($_POST['bran']){
$_SESSION['bran'] = $_POST['bran'];
}
?>
<div id="contenu2">
<div class="wrapper">
<div class="container">
<form method="post" id="report_filter" action="<?php $_SERVER['PHP_SELF'];?>" >
<select name="reg" onchange="document.getElementById('report_filter').submit();" class="sele">
<option value="--">Selectionnez une Région : </option>
<?php foreach ($mylink as $post){
if(strcasecmp($_SESSION['reg'], $post->region) == 0 ){ ?>
<option selected="selected" value="<?php echo $post->region; ?>"><?php echo ucfirst(strtolower($post->region)); ?></option>
<?php }else{ ?>
<option value="<?php echo $post->region; ?>"><?php echo ucfirst(strtolower($post->region)); ?></option>
<?php } ?>
<?php } ?>
</select>
</form>
<form method="post" id="report_filter" action="<?php $_SERVER['PHP_SELF'];?>" >
<select name="bran" onchange="document.getElementById('report_filter').submit();" class="sele">
<option value="--">Selectionnez une Catégorie : </option>
<?php foreach ($mylink2 as $post){
if(strcasecmp($_SESSION['bran'], $post->branche) == 0 ){ ?>
<option selected="selected" value="<?php echo $post->branche; ?>"><?php echo ucfirst(strtolower($post->branche)); ?></option>
<?php }else{ ?>
<option value="<?php echo $post->branche; ?>"><?php echo ucfirst(strtolower($post->branche)); ?></option>
<?php } ?>
<?php } ?>
</select>
</form>
</div>
</div>
<?php
if($_SESSION['reg']||$_SESSION['bran']||$_GET['cpage']){
$query = "SELECT * FROM outils_informatiques WHERE region = '".$_SESSION['reg']."' || branche = '".$_SESSION['bran']."'";
$total = $wpdb->get_var( "SELECT COUNT(1) FROM (${query}) AS combined_table" );
$items_per_page = 100;
$page = isset( $_GET['cpage'] ) ? abs( (int) $_GET['cpage'] ) : 1;
$offset = ( $page * $items_per_page ) - $items_per_page;
$mylink = $wpdb->get_results( $query . " ORDER BY nom LIMIT ${offset}, ${items_per_page}" );
global $regionlink;
foreach ($mylink as $regionlink){
//echo $regionlink->
//echo "<pre>"; print_r($regionlink); echo "</pre>";?>
<div class="customerContainre">
<table class="customers">
<tr>
<td >
<span class="soustitre"><span style="text-transform: uppercase;"><?php echo $regionlink->branche; ?></span> en <?php echo $regionlink->region; ?></span><br/>
<br/>
<h3 class="titreliste"><?php echo $regionlink->nom; ?></h3>
<?php echo $regionlink->categorie; ?><br/>
<br/>
<?php echo $regionlink->adresse; ?><br/>
<?php echo $regionlink->cp; ?> <span style="text-transform: uppercase; "><?php echo $regionlink->ville; ?></span>
</td>
<td ><table class="customers1" >
<tr> </tr>
<tr>
<td >E-Mail </td>
<td ><?php echo $regionlink->email; ?></td>
</tr>
<tr>
<td >Telephone</td>
<td ><?php echo $regionlink->tel; ?></td>
</tr>
<tr>
<td>Fax </td>
<td><?php echo $regionlink->fax; ?></td>
</tr>
</table></td>
</tr>
</table>
</div>
<?php
}
echo paginate_links( array(
'base' => add_query_arg( 'cpage', '%#%' ),
'format' => '',
'prev_text' => __('«'),
'next_text' => __('»'),
'total' => ceil($total / $items_per_page),
'current' => $page
));
}
?>
<?php wp_link_pages(array('before' => '<p><strong>'.esc_html__('Pages','DeepFocus').':</strong> ', 'after' => '</p>', 'next_or_number' => 'number')); ?>