if else (filtri per una tabella)

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Salve, si come che non capisco ancora come si usano gli if , else if , else.

Mi sapete riscrivere il codice ha modo di questo pezzo :

Dovrei fare dei filtri "Categoria" e "utente",
solo che non so sistemare la cosa dei if else.

ecco il codice:
PHP:
<?php

	$id_cat = $_GET["id"];	
	$id_user = $_GET["user"];
	if(empty($id_cat) && empty($id_user))
	{
				$pag = new Paginazione("SELECT * FROM articoli ", 20, "pagina");
	
	}else
	{
	if($id_cat == $_GET["id"])
	{
				$pag = new Paginazione("SELECT * FROM articoli WHERE  _catid='".$id_cat."'", 10, "pagina");

	}
	if($id_user == $_GET["user"])
	{
				$pag = new Paginazione("SELECT * FROM articoli WHERE  _userid='".$id_user."'", 10, "pagina");
				
	}
	}
?>

vi prego mi potete aiutarmi?

grazie mille.
buona giornata.
 

micio86

Utente Attivo
Non ho capito bene...

Non hai capito come funzionano if, elseif ed else???
E' semplicissimo:
PHP:
if(condizione1) {
    //se condizione1 è vera eseguo qusto codice
}
elseif(condizione2) {
    //se condizione1 è false e condizione2 è vera eseguo qusto codice
}
else {
    //se condizione1 è falsa e condizione2 è falsa eseguo qusto codice
}

Il tuo codice dovrebbe essere:

PHP:
<?php
          if($id_cat = $_GET["id"]) {
                $pag = new Paginazione("SELECT * FROM articoli WHERE       _catid='".$id_cat."'", 10, "pagina");
         }
         elseif($id_user == $_GET["user"]) {
                $pag = new Paginazione("SELECT * FROM articoli WHERE   _userid='".$id_user."'", 10, "pagina");     
         }
         else {
                $pag = new Paginazione("SELECT * FROM articoli ", 20, "pagina");
        }
?>

Non so se è quello ke volevi fare... visto ke non lo hai scritto
Oppure io farei:

PHP:
<?php
          $query="SELECT * FROM articoli WHERE 1=1";
          $num_righe=20;

          if($id_cat = $_GET["id"]) {
                $query.=" AND _catid='".$id_cat."'";
                $num_righe=10;
         }
         if($id_user == $_GET["user"]) {
                $query =" AND _userid='".$id_user."'";     
                $num_righe=10;
         }
          $pag = new Paginazione($query, $num_righe, "pagina");
?>

Più pulito e + semplice non credi?
 
Ultima modifica:

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
grazie mille per la spiegazione.
un'altra cosa
con questo pezzo di codice :

PHP:
<?php
         if($id_cat = $_GET["id"]) {
                $pag = new Paginazione("SELECT * FROM articoli WHERE   _catid='".$id_cat."'", 10, "pagina");
         }
         elseif($id_user == $_GET["user"]) {
                $pag = new Paginazione("SELECT * FROM articoli WHERE   _userid='".$id_user."'", 10, "pagina");     
         }
         else {
                $pag = new Paginazione("SELECT * FROM articoli ", 20, "pagina");
        }
?>

funziona,

ma non funziona l'else perchè mi dice che non ci sono record invece ci sono.

per i get funziona bene e fa quello che doveva fare e solo per l'else.

Mi dici come risolvere ?

grazie mille.
 

micio86

Utente Attivo
No

Usa questo!
PHP:
<?php
          $query="SELECT * FROM articoli WHERE 1=1";
          $num_righe=20;

          if($id_cat = $_GET["id"]) {
                $query.=" AND _catid='".$id_cat."'";
                $num_righe=10;
         }
         if($id_user == $_GET["user"]) {
                $query =" AND _userid='".$id_user."'";     
                $num_righe=10;
         }
          echo $query;//Questo ci fa vedere quale parte becca poi toglilo
          $pag = new Paginazione($query, $num_righe, "pagina");
?>

Penso che sia quello ke vuoi fare...
Dimmi che query ti esce scritta in tutti i vari casi e cosa non ti piace...
Se non spieghi cosa vuoi fare non posso risolvere il problema.
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
R problema con else PHP 0
L if ed else PHP 9
S [PHP] Difficoltà con costrutto if/else PHP 6
A [PHP] If e Else paginazione ok ci sono risultati no ma avanti lo stesso PHP 15
X [PHP] Problema if else PHP 23
trattorino [Javascript] ELSE su java script Javascript 1
Trapano [PHP] come impostare un if else PHP 10
bubino8 [PHP] esleif oppure else if PHP 4
W creare un app con if ed else Sviluppo app per iOS 0
elpirata Stabilire condizione if ed else in query php PHP 14
Shyson Creare funzione if else jQuery 69
G condizioni if then else all interno di una query?? MySQL 2
L if else controllo data PHP 0
T problema tra if else e print sprintf PHP 2
Shyson else con 2 punti PHP 7
N If else dentro un form PHP 4
S If e else (maledetti ) per scrive non ci sono risultati nel caso il db sia vuoto PHP 26
L problema if else non si eseguono PHP 10
D problema con ciclo if else query PHP 3
L Ciclo for con dentro if else PHP 2
foki PHP errore T-ELSE PHP 3
P Costrutto if else? PHP 3
A if -elseif-else non funziona Javascript 9
E if e else Flash 0
grottafelix Else if .... Classic ASP 1
A if... then... else Classic ASP 8
R Filtri e plugin per photoshop Photoshop 0
M [VENDO] Filtri instagram su richiesta Altri Annunci 0
S [PHP] Creare collegamento filtri di ricerca al database PHP 6
maxs84 Filtri multipli da casella combinata MS Access 0
D Javascript, filtri e altri misteri Javascript 0
matteoraggi Aggiungere filtri a woocommerce WordPress 0
F Filtri in option select jQuery 1
M filtri cumulativi per tabella Javascript 1
L filtri di query [php-mysql] PHP 6
P Filtri order by e where 'dinamici' PHP 1
P Filtri Group by PHP 6
D Filtri alle immagini con PHP e GB PHP 15
M filtri javascript Javascript 2
M filtri collonne PHP 2
S Filtri multipli per database mysql PHP 1
G visualizzare risultati ricerca dopo form nella stessa pagina e mantenimento filtri PHP 1
R filtri e maschere MS Access 0
borgo italia facebook aggira i filtri aziendali Discussioni Varie 12
Z Photoshop: manca l'opzione render per filtri Photoshop 1
C mappare un'immagine x il web con gimp(filtri/web/mappa immagine) Webdesign e Grafica 0
G Cambiare dimensione disegno fireworks senza incasinare i filtri? Webdesign e Grafica 4
I Filtri Access MS Access 0
felino Lubuntu 18.04 Requisiti per applicazione console .net core 7.0 Linux e Software 0
M pulsante per aprire una maschera che contiene controllo schede MS Access 0

Discussioni simili