Visualizza foto da un db mysql

  • Creatore Discussione Creatore Discussione gracito
  • Data di inizio Data di inizio
Stato
Chiusa ad ulteriori risposte.
La versione con il LIKE al posto dell'=:

PHP:
<?php
function getQuery($id, $nome, $cognome) {
	$query = "SELECT * FROM mia WHERE ";
	
	if (isset($id) && !empty($id)) {
		$query .= "id LIKE '$id' AND ";
	} 
	if (isset($nome) && !empty($nome)) {
		$query .= "nome LIKE '$nome' AND ";
	} 
	if (isset($cognome) && !empty($cognome)) {
		$query .= "cognome LIKE '$cognome' AND ";
	} 
	$query .= "1 = 1";
	
	return $query;
}
?>
 
Ultima modifica:
Beh sono le nuove generazioni che avanzano. La maggiorparte dei ragazzini pensa a giocare con la palystation o ad avere il cellulare fighetto. Se ce n'è qualcuno interessato a cose più importanti ben venga :p
 
ciao
stavo scherzando, hai perfettamente (al 100%) ragione

Se ce n'è qualcuno interessato a cose più importanti ben venga

e dato i tempi che corrono (o almenno sembrano correre) un alex1997 BEN VENGA, anche se crdo che rari nantes in gurgite vasto
 
ciao, dimenticavo
per contentare l'imberbe ho fatto una piccola modifica, aggiungendo due radiobutton si può cercare per similarità o uguaglianza

PHP:
function getQuery($id, $nome, $cognome,$s) { 
    $simile="LIKE";
	if($s==1){$simile="=";}
	$query = "SELECT * FROM mia WHERE "; 
	$fl=0;//anche se non servirebbe
	if (isset($id) && $id != "") { 
        $fl=1;
		$query .= "id $simile $id AND ";
    }  
    if (isset($nome) && $nome != "") { 
        $fl=1;
		$query .= "nome $simile '$nome' AND ";
    }  
    if (isset($cognome) && $cognome != "") { 
        $fl=1;
		$query .= "cognome $simile '$cognome' AND "; 
    }  
    if($fl=="0"){
    	return "SELECT * FROM mia";//cerca tutti
	}else{
		$query .= "1=1";
		return $query;
	}
}

altre modifiche, ogltre agli usuali controlli degli input, potrebbe essere un ORDER BY variabile
 
ciao, dimenticavo
per contentare l'imberbe ho fatto una piccola modifica, aggiungendo due radiobutton si può cercare per similarità o uguaglianza

PHP:
function getQuery($id, $nome, $cognome,$s) { 
    $simile="LIKE";
	if($s==1){$simile="=";}
	$query = "SELECT * FROM mia WHERE "; 
	$fl=0;//anche se non servirebbe
	if (isset($id) && $id != "") { 
        $fl=1;
		$query .= "id $simile $id AND ";
    }  
    if (isset($nome) && $nome != "") { 
        $fl=1;
		$query .= "nome $simile '$nome' AND ";
    }  
    if (isset($cognome) && $cognome != "") { 
        $fl=1;
		$query .= "cognome $simile '$cognome' AND "; 
    }  
    if($fl=="0"){
    	return "SELECT * FROM mia";//cerca tutti
	}else{
		$query .= "1=1";
		return $query;
	}
}

altre modifiche, ogltre agli usuali controlli degli input, potrebbe essere un ORDER BY variabile

La variabile $fl ed i vari settaggi ad 1 non servono così come l'if finale su $fl. Avevo già considerato la cosa e per risparmiare controlli e codice se nessuna delle condizioni precedenti è verificata la query diventa "SELECT * FROM mia WHERE 1 = 1" equivalente a "SELECT * FROM mia". Il vantaggio è quello di risparmiare codice, confronti ed assegnazioni inutili.

La mia filosofia è ottimizzare sempre e comunque sia la quantità di codice che le performance.
 
Ultima modifica:
Buongiorno
Non riesco a farlo funzionare ho provato in tutti e due i modi mi da la scritta, .

Warning: mysql_fetch_array() expects parameter 1 to be resource.

??????
 
Ciao
Ecco il codice, mi da errore quì...
Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in
PHP:
<?php
 
$db = mysql_connect("localhost","root","");
mysql_select_db("prova", $db);

function getQuery($Id, $Nome, $Cognome) {
    $query = "SELECT * FROM mia WHERE ";
    
    if (isset($Id) && !empty($Id)) {
        $query .= "Id LIKE '$Id' AND ";
    } 
    if (isset($Nome) && !empty($Nome)) {
        $query .= "Nome LIKE '$Nome' AND ";
    } 
    if (isset($Cognome) && !empty($Cognome)) {
        $query .= "Cognome LIKE '$Cognome' AND ";
    } 
    $query .= "1 = 1";
    
    return $query;
}

 ?>
<table border= "1" width="650" align="center">
    <tr>
        <td width="50"> <b>Id </b></td>
        <td width="150"><b>Cognome </b></td>
        <td width="150"><b>Nome</b></td>
        <td width="150"><b>Anni</b></td>
        <td width="150"><b>Foto</b>
	</td>
     
    <?php
$i = 0;
while($myrow=mysql_fetch_array($result))

{
   
    $bgcolor = ($i % 2 == 0 ? '#e4e4e4' : 'white');
    $bgcolor = ($myrow['data_mod'] > $myrow['data_ins'] ? 'green' : $bgcolor);

echo  <<<EOF
<tr bgcolor="{$bgcolor}">

<td><a href="Apri_Foto.php?ID=$myrow[Id]">$myrow[Id]</a></td>
<td>$myrow[Cognome]</td>
<td>$myrow[Nome]</td>
<td>$myrow[Anni]</td>
<td>$myrow[Foto]</td>

</tr>

EOF;

 $i++;
}
 ?>
 
prima di
PHP:
while($myrow=mysql_fetch_array($result))
ci dovrebbe essere la chimata alla funzione getQuery()
 
Ciao
non riesco a farla funzionare cosa gli manca.

PHP:
<?php

$db = mysql_connect("localhost","root","");
mysql_select_db("prova", $db);

function getQuery($Nome, $Cognome) {
    $query = "SELECT * FROM mia WHERE ";
    
   
    if (isset($Nome) && !empty($Nome)) {
        $query .= "Nome LIKE '$Nome' AND ";
    } 
    if (isset($Cognome) && !empty($Cognome)) {
        $query .= "Cognome LIKE '$Cognome' AND ";
    } 
    $query .= "1 = 1";
    
    return $query;
}

 ?>
<table border= "1" width="650" align="center">
    <tr>
        <td width="50"> <b>Id </b></td>
        <td width="150"><b>Cognome </b></td>
        <td width="150"><b>Nome</b></td>
        <td width="150"><b>Anni</b></td>
        <td width="150"><b>Foto</b>
	</td>
     
   <?php


while($myrow=mysql_fetch_array($query))

echo  "<tr>
<td><a href=\"Apri_Foto.php?Id=$myrow[Id]\">$myrow[Id]</a></td>
<td>$myrow[Cognome]</td>
<td>$myrow[Nome]</td>
<td>$myrow[Anni]</td>
<td>$myrow[Foto]</td>
</tr>";
 
?>
 
PHP:
<?php
$db = mysql_connect("localhost","root","");
mysql_select_db("prova", $db);

function getQuery($Nome, $Cognome) {
    $query = "SELECT * FROM mia WHERE ";
    
   
    if (isset($Nome) && !empty($Nome)) {
        $query .= "Nome LIKE '$Nome' AND ";
    } 
    if (isset($Cognome) && !empty($Cognome)) {
        $query .= "Cognome LIKE '$Cognome' AND ";
    } 
    $query .= "1 = 1";
    
    return $query;
}

 ?>
<table border= "1" width="650" align="center">
    <tr>
        <td width="50"> <b>Id </b></td>
        <td width="150"><b>Cognome </b></td>
        <td width="150"><b>Nome</b></td>
        <td width="150"><b>Anni</b></td>
        <td width="150"><b>Foto</b>
    </td>
     
   <?php

$result = mysql_query(getQuery($nome, $cognome), $db) or die ("Errore: ".mysql_error());

while($myrow=mysql_fetch_array($result))

echo  "<tr>
<td><a href=\"Apri_Foto.php?Id=$myrow[Id]\">$myrow[Id]</a></td>
<td>$myrow[Cognome]</td>
<td>$myrow[Nome]</td>
<td>$myrow[Anni]</td>
<td>$myrow[Foto]</td>
</tr>";
 
?>

Ovviamente le variabili $nome e $cognome devono essere valorizzate con i rispettivi valori.
 
Ciao

Creato il db vorrei create una pagina di registazione utenti e una pagina login, dove posso leggermi
qualcosa? Voi come procederete?

Grazie
 
Ultima modifica:
Ciao

Hai ragione non so se devo aprire un'altra discussione o posso continuare in questa.
Mi spiego meglio.
Ho creato il db con le funzioni di ricerca funziona bene.... ora cosa vorrei fare?
Chi vuole consultarlo deve prima registrarsi e poi fare il login, quindi prima vorrei creare una tabella di registrazione utenti con nome cogn.....user password... e una pagina di accesso al database per la consultazione dei dati, come imposteresti il lavoro ?
 
Stato
Chiusa ad ulteriori risposte.

Discussioni simili