link

skate84

Utente Attivo
16 Mag 2009
83
0
0
Ciao
ho questo problema che non riesco a risolvere.

Allora ho una tabella 'appuntamenti'.

Nella homepage ho uno spazio dove posso inserire delle news. Queste news le riprendo con una select dalla tabella appuntamenti. Sotto ad ogni news voglio mettere un link (es. continua) dove si può visualizzare una pagina con delle informazioni in più rispetto alle news.

La mia domanda è questa:
come faccio a fare in modo che se io clicco sul link continua mi apre la pagina giusta?

la mia idea era quella di utilizzare in questo modo il codice

...
<a href="?indice=xx">Continua...</a>
<a href="?indice=yy">Continua...</a>
...

però non saprei come fare.

questo è il codice che ho fatto fino ad ora:

PHP:
<h2>News</h2>
<br/>

<?php
//dichiaro le variabili anno_attuale e data_odierna per poter gestire le date nella query
	$anno_attuale = date("Y");
	$data_odierna = date("Y-m-d");
		
//query di estrazione dalla banca dati
	$selAppuntamento = "SELECT date_format(data_appuntamento, '%d.%m.%Y'), testo_appuntamento FROM appuntamento WHERE YEAR(data_appuntamento)=$anno_attuale AND data_appuntamento>='$data_odierna' ORDER BY data_appuntamento ASC";
	$result = mysql_query($selAppuntamento, $db);
	
	
		
    //ciclo che mi permette di controllare le righe restituite dalla query  
        while ($line = mysql_fetch_array($result, MYSQL_NUM))
        	{      
            
              //mi permette di stampare il valore delle righe restituite
				foreach ($line as $col_value){
					echo "\t\t<td>$col_value</td>\n";
				}
			?>
				<a href="#">More…</a>
				<br/>
				<br/>
			<?php
			
			}


	
?>

spero di essere stato chiaro nella spiegazione :D
 
Ultima modifica:
ti lancio una prima traccia (visto che è tarduccio :)), nella SELECT devi estrarre anche l'id degli articoli, nel link dovrai passare questo dato come argomento.
 
Allora io ho queste tabelle:

Pagina --> id_pagina, nome_pagina
Testo --> id_testo, testo_testo, id_pagina
Appuntamento --> id_app, oggetto_app, data_app, testo_app, data_reg_app, id_testo

Esempio:

Pagina --> 1, news
2, chi siamo
Testo --> 1, blah blah blah..., 1
2, blah balh ddalg slagshl...., 1
3, salgkasj saklgasg..., 1
Appuntamento --> 1, xy, 20.01.2010, xxxxxxxxxxxxx, data_reg, 1
2, xvbcy, 25.01.2010, xxcvvbbyyxxxxxx, data_reg, 2

Il campo testo_app è diverso da testo_testo. Il testo_app sarà un piccolo riassunto che verrà visualizzato nella home (news) mentre il campo testo_testo sarà la pagina dove si visualizzerà la scheda tecnica di quel determinato appuntamento.

Io ho fatto in questo modo:
news.php
PHP:
<?php
//dichiaro le variabili anno_attuale e data_odierna per poter gestire le date nella query
	$anno_attuale = date("Y");
	$data_odierna = date("Y-m-d");
		
//query di estrazione dalla banca dati
	$selAppuntamento = "SELECT id_appuntamento, date_format(data_appuntamento, '%d.%m.%Y'), oggetto_appuntamento, id_testo FROM appuntamento WHERE YEAR(data_appuntamento)=$anno_attuale AND data_appuntamento>='$data_odierna' ORDER BY data_appuntamento ASC";
	$result = mysql_query($selAppuntamento, $db);
	
	
		
    //ciclo che mi permette di controllare le righe restituite dalla query  
        while ($line = mysql_fetch_array($result, MYSQL_NUM))
        	{      
            		//echo "<td>".$line[0]."</td>";
			echo "<td>".$line[1]."</td>";
			echo "<br/>";
			echo "<td>".$line[2]."</td>";
			//echo "<td>".$line[3]."</td>";
					
					
			?>
				<br/>
				<a href="?indice=31&id_appuntamento=<?php echo $line[0]; ?>&id_testo=<?php echo $line[3]; ?>">More…</a>
				<br/>
				<br/>
			<?php
			
			}
	
	mysql_free_result($result);
	mysql_close($db);

	
?>

questa pagina l'ho inclusa nella pagina index.php dove si trova lo spazio per le news. Me le visualizza con data e testo.
Ora il problema è quando clicco sul link (more...) per andare nella pagina specifica di quella news (testo_testo)

io ho fatto in questo modo ma non so come fare a dire che quella news è di quel determinato appuntamento di quel testo

news_p.php
PHP:
<?php
	  
	  $selTesto = "select testo.testo_testo, testo.id_testo, pagina.id_pagina, appuntamento.id_appuntamento from testo, appuntamento, pagina where appuntamento.id_testo= testo.id_testo and pagina.id_pagina=testo.id_pagina";
	  echo stripslashes(selezionaTesto($selTesto));
	  if(isset($_SESSION['Username'])) {
	  ?>
	    <br /><br /><a href="fck_news.php?id_pagina=3" target="_blank">Modifica Testo</a>
	  <?php
	  }
	
	  ?>

Se il codice rimane cosi mi visualizza per tutte le news lo stesso testo. Invece ogni news deve avere un proprio testo.


common.php
PHP:
<?php
function selezionaTesto($sql) {
	$res = mysql_query($sql) or die("Errore nella select<br />".mysql_error());
	$row = mysql_fetch_row($res);
	return $row[0];
}
?>


Spero che le mie spiegazioni siano chiare ;)
 
Ultima modifica:
Ho risolto...sbagliavo io una cosa ovvia :D

Ho fatto in questo modo a chi interessasse

news.php
PHP:
<?php
//dichiaro le variabili anno_attuale e data_odierna per poter gestire le date nella query
	$anno_attuale = date("Y");
	$data_odierna = date("Y-m-d");
		
//query di estrazione dalla banca dati
	$selAppuntamento = "SELECT id_appuntamento, date_format(data_appuntamento, '%d.%m.%Y'), testo_appuntamento, id_testo FROM appuntamento WHERE YEAR(data_appuntamento)=$anno_attuale AND data_appuntamento>='$data_odierna' ORDER BY data_appuntamento ASC";
	$result = mysql_query($selAppuntamento, $db);
	
	
		
    //ciclo che mi permette di controllare le righe restituite dalla query  
        while ($line = mysql_fetch_array($result, MYSQL_NUM))
        	{      
            		//echo "<td>".$line[0]."</td>";
					echo "<td>".$line[1]."</td>";
					echo "<br/>";
					echo "<td>".$line[2]."</td>";
					//echo "<td>".$line[3]."</td>";
					
					
			?>
				<br/>
				<a href="?indice=31&id_appuntamento=<?php echo $line[0]; ?>&id_testo=<?php echo $line[3]; ?>">More…</a>
				<br/>
				<br/>
			<?php
			
			}
	
	//mysql_free_result($result);
	//mysql_close($db);

	
?>

news_p.php
PHP:
<?php
	  
	  $id_appuntamento = $_GET['id_appuntamento'];
	  $id_testo = $_GET['id_testo'];
	  
	  
	  $selTesto = "select testo.testo_testo, testo.id_testo, pagina.id_pagina, appuntamento.id_appuntamento from testo, appuntamento, pagina where appuntamento.id_testo= testo.id_testo and pagina.id_pagina=testo.id_pagina and appuntamento.id_appuntamento=$id_appuntamento and testo.id_testo=$id_testo";
	  echo stripslashes(selezionaTesto($selTesto));
	  if(isset($_SESSION['Username'])) {
	  ?>
	    <br /><br /><a href="fck_news.php?id_pagina=3&id_appuntamento=<?php echo $id_appuntamento ?>&id_testo=<?php echo $id_testo ?>" target="_blank">Modifica Testo</a>
	  <?php
	  }
	
	  ?>
 

Discussioni simili