Recuperare un link

antonioamabile

Utente Attivo
21 Gen 2010
150
0
16
Salve ho un piccolo problema, nella mia paginetta ho dei link , recuperati dal mio database, cliccandoci vorrei aprire una pagina dinamica, es. ho una pagina index.php dove recupero i link di tutti gli alberghi e cliccando su di un link vorrei spostarmi su alberghi.php e recuperare le inforamzioni di un determinato albergo. Come posso fare?
 
Immagino che nel database tu abbia le informazioni di tutti gli alberghi e che, nell'apposita tabella ogni albergho abbia un id.

La prima cosa da fare è realizzare la pagina albergo.php che riceve in input il parametro id dell'albergho, ad esempio tramite GET e ne visualizza i dati.

La seconda è modificare attualmente la pagina che visualizza le lista degli alberghi affinchè, per ogni albergo, produca il link come segue:
<a href="alberghi.php?id=$id_albergo">NomeAlbergo</a>

Ovviamente per maggiori dettagli dovresti postyare il codice e/o altri riferimenti
Ciao, Ciro
 
In effetti

Il mio problema inizia da questa questa pagina qui dove ora ti posto il codice
Codice:
  $sql = "select comuni.id_comune, comuni.nome_comune\n"
          . "from comuni\n"
             . " LIMIT 0, 30 ";
          $ris=mysql_query($sql,$mysql);           
          if (!$ris)
                {
                  echo "DB ERRORE, QUERY NON CONNESSA AL DATABASE\N";
                  echo 'MYSQL Error:'.mysql_error();
                  exit;
                }
                  while ($row=mysql_fetch_assoc($ris))
                  { 
                   
                    echo '<a href="comuni.php?id=$id_comune">'; 
                   
				      echo $row['nome_comune']; 
					 	
				  } 
			
					?>
In questa pagina riesco a recuperare le informazioni che voglio. Infatti riesco a vedere i 6 comuni (di Ischia vienimi a trovare) ma quando clicco sul link e mi sposto sulla pagina comuni.php mi escono le informazioni su tutti i comuni
Codice:
$n=$_GET['id'];  
//echo $n;                     // traferisco il valore val attarverso la funzione GET nella variabile n
$mysql=mysql_connect($host, $user, $password);
 if (!$mysql)
  {
     die('Non trovato:'.mysql_error()); //il punto tra trovato e mysql è il punto di concatenazione die è una funzione
  }
  else
   echo "<center> BENVENUTI SIAMO CONNESSI AD ISCHIAPOINT</center> <br>";
if (!mysql_select_db($dbname,$mysql)) //attenzione al nome del databese?????
  {
    echo'Database non trovato';
	exit; //uscita forzata
  }

           $sql = "SELECT comuni.descrizione\n"
            . "from comuni\n"
            . "where id_comune=id_comune LIMIT 0, 30 ";
    	$ris=mysql_query($sql,$mysql);
           
               if (!$ris)
                {
                  echo "DB ERRORE, QUERY NON CONNESSA AL DATABASE\N";
                  echo 'MYSQL Error:'.mysql_error();
                  exit;
                }
                  while ($row=mysql_fetch_assoc($ris))
                  {
                   ?> <br> <center> <?php echo $row['descrizione'];?> </center> <br> <?php

                  }

  ?>
Mi dispiace disturbarti ma sono alle prime esperienze e credo che la migliore cosa per imparare sia provare. Ovviamente ti ringrazio per la tua ( e la vostra intesa come mrwebmaster) disponibilità.
 
il problema dei comuni....

Ho risolto cosi il problema dei comuni anche se non è un modo molto elegante Ischia avendo solo 6 comuni li ho scritti in questo modo
Codice:
  <?php
              echo '<a href="comuni.php? val=1">Ischia</a> <br>';
              echo '<a href="comuni.php? val=2">Casamicciola Terme </a> <br>';
              echo '<a href="comuni.php? val=3">Lacco Ameno </a> <br>';
			  echo '<a href="comuni.php? val=4">Forio</a> <br>';
              echo '<a href="comuni.php? val=5">Serrara Fontana </a> <br>';
              echo '<a href="comuni.php? val=6">Barano </a> <br>';
		  ?>
Questo codice avviene nella pagina indeix php cosi creo i link e passo ad una pagina comuni.php il valore attraverso il metodo GET e con una serie di switch case: vado ad eseguire le query.
Codice:
switch ($n)
{
  case 1:
	{
      $sql = "SELECT comuni.descrizione\n"
             . "from comuni\n"
             . "where comuni.nome_comune=\"ischia\"";
    	     $ris=mysql_query($sql,$mysql);
             if (!$ris)
                {
                  echo "DB ERRORE, QUERY NON CONNESSA AL DATABASE\N";
                  echo 'MYSQL Error:'.mysql_error();
                  exit;
                }
                 while($row=mysql_fetch_assoc($ris))
                {
                   ?> <br> <center> <?php echo $row['descrizione'];?> </center> <br> <?php

                }
    }
     break;
		 
    case 2:
	{
        $sql = "SELECT comuni.descrizione\n"
             . "from comuni\n"
             . "where comuni.nome_comune=\"casamicciola terme\"";
    	      $ris=mysql_query($sql,$mysql);
              if (!$ris)
               {
                 echo "DB ERRORE, QUERY NON CONNESSA AL DATABASE\N";
                 echo 'MYSQL Error:'.mysql_error();
                 exit;
               }
                 while($row=mysql_fetch_assoc($ris))
                 {
                  ?> <br> <center> <?php echo $row['descrizione'];?> </center> <br> <?php
                 }
    }
	    break;
	case 3:
	{
        $sql = "SELECT comuni.descrizione\n"
               . "from comuni\n"
               . "where comuni.nome_comune=\"lacco ameno\"";
    	      $ris=mysql_query($sql,$mysql);
              if (!$ris)
               {
                 echo "DB ERRORE, QUERY NON CONNESSA AL DATABASE\N";
                 echo 'MYSQL Error:'.mysql_error();
                 exit;
               }
                 while($row=mysql_fetch_assoc($ris))
                 {
                  ?> <br> <center> <?php echo $row['descrizione'];?> </center> <br> <?php
                 }
    }
	   break;
	case 4:
	{
        $sql = "SELECT comuni.descrizione\n"
               . "from comuni\n"
               . "where comuni.nome_comune=\"forio\"";
    	      $ris=mysql_query($sql,$mysql);
              if (!$ris)
               {
                 echo "DB ERRORE, QUERY NON CONNESSA AL DATABASE\N";
                 echo 'MYSQL Error:'.mysql_error();
                 exit;
               }
                 while($row=mysql_fetch_assoc($ris))
                 {
                  ?> <br> <center> <?php echo $row['descrizione'];?> </center> <br> <?php
                 }
    }
	   break;
	case 5:
	{
        $sql = "SELECT comuni.descrizione\n"
               . "from comuni\n"
               . "where comuni.nome_comune=\"serrara fontana\"";
    	      $ris=mysql_query($sql,$mysql);
              if (!$ris)
               {
                 echo "DB ERRORE, QUERY NON CONNESSA AL DATABASE\N";
                 echo 'MYSQL Error:'.mysql_error();
                 exit;
               }
                 while($row=mysql_fetch_assoc($ris))
                 {
                  ?> <br> <center> <?php echo $row['descrizione'];?> </center> <br> <?php
                 }
    }
	case 6:
	{
        $sql = "SELECT comuni.descrizione\n"
               . "from comuni\n"
               . "where comuni.nome_comune=\"Barano\"";
    	      $ris=mysql_query($sql,$mysql);
              if (!$ris)
               {
                 echo "DB ERRORE, QUERY NON CONNESSA AL DATABASE\N";
                 echo 'MYSQL Error:'.mysql_error();
                 exit;
               }
                 while($row=mysql_fetch_assoc($ris))
                 {
                  ?> <br> <center> <?php echo $row['descrizione'];?> </center> <br> <?php
                 }
    }
	break;
 }
		 
  ?>
Ovviamente cosi non posso ovviare il problema sugli alberghi in quanto sono molti di più di 6. Se mi puoi dare qualche cosiglio ti ringrazio
 
La funzione che effettua la query per il nome città deve acquisire tramite GET l'id della città, fare una query per l'id relativo a quella città, ed effettuare una query che mostra la lista in base alla città desiderata. Non è necessario lo switch ma 1 sola funziona che prende in input il parametro città.

Chiedo scusa ma il progetto è per lavoro?

Ciao, Ciro
 
Scusami, io ti consiglierei di modificare la pagina principale così:
PHP:
<?php
$sql = 'SELECT comuni.id_comune, comuni.nome_comune FROM comuni LIMIT 0,30';
$result = mysql_query($sql, $mysql) or die(mysql_error());

while($row = mysql_fetch_assoc($result))
	echo "<a href=\"comuni.php?id={$row['id_comune']}\">{$row['nome_comune']}</a>";
?>
E la pagina comuni.php così:
PHP:
<?php
$id = isset($_GET['id']) ? addslashes($_GET['id']) : '';

if($id == '')
	die('<br /> <center>Non hai specificato un ID corretto.</center> <br />');

$sql = "SELECT * FROM comuni WHERE comuni.id_comune = {$id}";
$result = mysql_query($sql, $mysql) or die(mysql_error());

if(mysql_num_rows($result) == 1)
{
	$row = mysql_fetch_assoc($result);
	echo "<br /> <center>{$row['descrizione']}</center> <br />";
}
else
	die('<br /> <center>Il comune che stai cercando non esiste!</center> <br />');
?>
Fammi sapere se funziona.
 
Ultima modifica:
se puoi....

Premetto che non è per lavoro, non credo che sono in grado di creare un sito web per lavoro, ma come ti dicevo prima credo che dopo un pò di teoria ci vuole la pratica. Ho provato il codice da te postatomi, mi dice che la varibaile result non è definita pertanto con relativo errore nella riga 8 di codice.
Infine cosa dirvi Vi ringrazio ancora
 
Ciao scusa la mia ignoranza ma non vedo il messaggi che mi hai spedito, nel quale dici che hai corretto e dovrei provare....Grazie
 
Intendevo dire che il messaggio in cui ho postato i sorgenti dei due file (quello da cui hai preso il sorgente errato) è stato modificato, quindi ora funziona. Comunque basta cambiare la riga:
PHP:
$result = mysql_query($result, $mysql);
Con questa:
PHP:
$result = mysql_query($sql, $mysql);
E tutto dovrebbe funzionare.
 

Discussioni simili