• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Problema risolto valore integer a Si/No

Stato
Discussione chiusa ad ulteriori risposte.

Ketto93

Utente Mitico
Autore del topic
User Legend
12 Febbraio 2008
7.659
0
Miglior risposta
0
Ciao,

Ho usato un valore integer per classificare un campo nella tabella cassette. (è un compito per mio cugino)

Devo cercare tutte le cassette che sono disponibili e ho attribuito al valore 0 (non disponibile) e al valore 1 (disponibile).

Ecco le stringhe di codice:

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

Ora, nella funzione sopra citata lo script riesce a distinguere i record con differente valore in disponibilità ma non visualizza la disponibilità. Mi spiego meglio.

Se inserisco 0 nel campo di ricerca trova effettivamente quelli non disponibili ma Disponibile: No non appare, appare solo Disponibile:

(questa stringa:emoji_slight_smile:
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

Sapete dirmi il perchè? E' da mezz'ora che mi scervello xD
 
Credo tu debba levare in disponibilita i . prima e dopo cioè:

da .$disponibilita.

a $disponibilita

Bye ;D
 
Ma hai provato senza? Se non sbaglio, vanno messi solo quando c'è un collegamento con un mysql!
 
Ho già provato senza per sicurezza (non si sa mai, è possibile che mi sia rinco) e da errore di sintassi ._.
 
MMM

Quindi se ho capito bene.

Tu devi far partire questo programma diciamo, tu scrivi il nome della cassetta, se è disponibile ti dice Disponibile : SI

se no ti appare NO esatto?
--------------- AGGIUNTA AL POST ---------------
<?php

require("config.php");

$disp = htmlspecialchars($_GET['disp']);
if ($disp == "1" OR $disp == "0") {

$query = mysql_query("SELECT * FROM cassette WHERE disponibilità = ".$disp."") or die( mysql_error() );
$result = mysql_fetch_array($query);
if (mysql_num_rows($query) == 0) {
echo "Nessuna corrispondenza trovata";
exit();
}

while ($result)
{
if ($disp == "1") {
$disponibilita == "Si";
}
{
else if ($disp == "0") {
$disponibilita == "No";
}

echo "<li><a href=\"videocassetta.php?v=$result[id]\">";
echo "$result[titolo]</a>";
echo " <i>di $result[autore]</i><br />";
echo "Genere: $result[genere]<br />";
echo "Disponibile: ".$disponibilita."<br />";
echo "<hr><br />";


$result = mysql_fetch_array($query);
}
} else { echo "Inserisci 1 o 0 nel campo di ricerca<br />"; }
echo "<form action=\"\" method=\"GET\">";
echo "Disponibilità: (1 = si, 0= no)<input type=\"text\" name=\"disp\"><br />";
echo "<input type=\"submit\" value=\"Cerca\">";
echo "</form>";

?>
 
Ultima modifica:
No. Il modulo di ricerca è intitolato Ricerca per disponibilità.

Quindi l'utente deve inserire 0/1 nel modulo (no/si) e nella pagina seguente dovrebbe comparire Disponibile: Si/No ma invece compare solamente Disponibile:
 
da errore nella riga 21 (elseif) e in effetti non serve a nulla, il mio ha lo stesso effetto e funziona xD (tranne per quel piccolo problema).
 
I punti vanno lasciati perchè sono operatori di concatenazione... cambia questo pezzo:
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
con questo
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
Hai usato l'operatore di confronto al posto di quello di assegnamento
 
Hai ragione, mi sono confuso. Grazie ^^
--------------- AGGIUNTA AL POST ---------------
Altro problema. Ora nell'archivio (quasi uguale al cerca) compare solo e sempre SI anche se la disponibilità è su 0.

Ecco il file:
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

Ho eseguito questo file php per crearmi i record così sai che sicuramente ho settato disponibilita su 0

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
 
Ultima modifica:
Compare sempre si perchè nell'if valuta solo il primo record della lista. Sostituisci questo
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
Con questo
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
In questo modo oltre ad essere più ordinato valuta la disponibilità di ogni cassetta ad ogni passaggio del ciclo while.
 
  • Like
Reactions: 1 person
Ah ok, avrei dovuto mettere l'if nel ciclo while...

Grazie Andrea ^^
 
Stato
Discussione chiusa ad ulteriori risposte.