Joomla.it Forum
Non solo Joomla... => Sviluppo => : netmit 15 Feb 2007, 12:17:12
-
Buongiorno a tutti..
Spero mi possiate aiutare, sto facendo un piccolo modulo per la gestione delle news, praticamente inserisco dentro una tabella di un db il titolo della notizia e il link corrispondente..
Purtroppo non riesco ad avere il risultato che voglio.
Il problema è che prendendo le notizie nel db lui le ripete su tot. righe, invece di mettermela una dietro l'altra.
Cosa posso fare?
Questo è il codice che utilizzo:
defined( '_VALID_MOS' ) or die( 'Restricted access' );
global $database;
$lists = array();
$sql = "Select titolo,link From #__active_news";
$database->setQuery($sql);
if(!$result = $database->query()) {
echo $database->stderr();
return;
}
$rows = $database->loadObjectList();
$valore=1;
$k = 0;
for ($i=0, $n=count( $rows ); $i < $n; $i++) {
$row = &$rows[$i];
if ($i==0){
echo "<table width=\"100%\" border=\"0\">";
}
echo "<tr>";
?>
<td bgcolor="CCCCCC" width="6%"><p><b>News</b></p></td>
<td bgcolor="F9F9F9"><marquee onmouseover="this.setAttribute('scrollamount', 0, 0);" onmouseout="this.setAttribute('scrollamount', 6, 0);"><p font size=\"-5\"><a href="<?php echo $row->link;?>" target="_blank"> • <?php echo $row->titolo;?></a></p></marquee></td>
</tr>
<?php
}
echo "</table><br>";
return;
Spero in un vostro aiuto, Grazie :'(
-
Direi che il codice che genera l'output HMTL è palesemente sbagliato: la tabella devi aprirla prima del for.
-
grazie napo come sempre per il tuo aiuto..
Ma come faccio a metterlo prima del for???
Se il codice html lo metto prima del for lui non riesce a prendere i record nel db..
CHE FARE???
GRAZIE MILLE
-
Il codice da scrivere è veramente banale...
Ecco un'idea:
<?php
$database->setQuery($sql);
$rows = $database->loadObjectList();
echo "<table width=\"100%\" border=\"0\">";
foreach($rows as $row){
echo "<tr>";
echo "<td>" . $row->QUALCOSA . "</td>";
echo "<td>" . $row->QUALCOSALTRO . "</td>";
...
echo "</tr>\n";
}
echo "</table>";
?>
-
io ci ho provato...da come hai capito non sono tanto esperto.
Il codice che utilizzo ora è questo
<?php
defined( '_VALID_MOS' ) or die( 'Restricted access' );
$sql = "Select titolo,link From #__active_news";
$database->setQuery($sql);
$rows = $database->loadObjectList();
foreach ($rows as $row) {
echo "<table width=\"100%\" border=\"0\">";
echo "<tr>";
?>
<td bgcolor="CCCCCC" width="6%"><p><b>News</b></p></td>
<td bgcolor="F9F9F9">
<marquee onmouseover="this.setAttribute('scrollamount', 0, 0);" onmouseout="this.setAttribute('scrollamount', 6, 0);"><p font size=\"-5\">
<a href="<?php echo $row->link;?>" target="_blank"> • <?php echo $row->titolo;?></a></p></marquee>
</td>
</tr>
<?php
}
echo "</table><br>";
return;
?>
purtroppo il risulato ancora non cambia...
Ho una tabella strutturata con 2 colonne (titolo e link), nella tabella ho tre record e ancora si vedono tutti e tre i titoli in tre record diversi..
in questo modo:
News:Primo record
News:Secondo Record
News:Terzo Record
Se nel codice c'è qualche errore madornale mi scuso tanto tanto..
GRAZIE VERAMENTE
-
Ma allora non leggi quello che scrivo: la tabella devi aprirla prima del for.
-
<?php
defined( '_VALID_MOS' ) or die( 'Restricted access' );
$sql = "Select titolo,link From #__active_news";
$database->setQuery($sql);
$rows = $database->loadObjectList();
echo "<table width=\"100%\" border=\"0\">";
foreach ($rows as $row) {
echo "<tr>";
?>
<td bgcolor="CCCCCC" width="6%"><p><b>News</b></p></td>
<td bgcolor="F9F9F9">
<marquee onmouseover="this.setAttribute('scrollamount', 0, 0);" onmouseout="this.setAttribute('scrollamount', 6, 0);"><p font size=\"-5\">
<a href="<?php echo $row->link;?>" target="_blank"> • <?php echo $row->titolo;?></a></p></marquee>
</td>
</tr>
<?php
}
echo "</table><br>";
return;
?>
La tabella ora l'ho messa fuori..
Scusa ma prima mi ero scordato.
Purtroppo mi fa lo stesso risultato di prima
Forse devo cambiare la struttura della tabella
Struttura TBL:
| link | titolo |
|www.joomla.it |sito joomla |
|www.joomla.org|sito joomla2 |
cosi è struttura la mia tbl.
Quando recupera i dati me li mette in 2 record diversi e scorrono con il marquue su due linee..
Scusa se sono insistente e spero di averti fatto capire bene il problema.
GRAZIE
-
Mi sa tanto che il codice HTML che generi è sbagliato.
Scrivimi il codice HTML che vorresti generare.
-
il codice che voglio generare con l'html è questo:
<table width="100%" border="0">
<tr>
<td bgcolor="CCCCCC" width="6%"><p><b>News</b></p></td>
<td bgcolor="F9F9F9">
<marquee onmouseover="this.setAttribute('scrollamount', 0, 0);" onmouseout="this.setAttribute('scrollamount', 6, 0);"><p font size=\"-5\">
<a href="<?php echo $row->link;?>" target="_blank"> • <?php echo $row->titolo;?></a></p></marquee>
</td>
</tr>
</table>
Ogni notizia che inserisco nel db lui me la calcola su tot. tabelle diverse (righe).
Grazie veramente per l'aiuto
-
Il codice che hai scritto ti genera questa tabella.
+------+------------------+
| News | titolo1 con link |
+------+------------------+
| News | titolo2 con link |
+------+------------------+
| ... | ... |
+------+------------------+
| News | titoloN con link |
+------+------------------+
Dove il termine News è fisso, ossia ogni ripete sempre la parola News. E' questo che vuoi?
-
|News(fisso)| - titolo1 - titolo2 - titolo3 (scorrono su una tr)|
questo è quello che voglio
Ma forse ho capito come risolvere il problema.
Cambio la struttura della tabella.
Faccio titolo1 e link1, titolo2 e link2, titoloN e linkN tutto sullo stesso record..
Poi nell'Html faccio cosi:
<td bgcolor="CCCCCC" width="6%"><p><b>News</b></p></td>
<td bgcolor="F9F9F9">
<marquee onmouseover="this.setAttribute('scrollamount', 0, 0);" onmouseout="this.setAttribute('scrollamount', 6, 0);">
<p font size=\"-5\">
<a href="<?php echo $row->link1;?>" target="_blank"> • <?php echo $row->titolo1;?></a>
<a href="<?php echo $row->link2;?>" target="_blank"> • <?php echo $row->titolo2;?></a>
<a href="<?php echo $row->linkN;?>" target="_blank"> • <?php echo $row->titoloN;?></a>
</p>
</marquee>
</td>
e cosi dovrei risolvere il problema..
Che dici?
Grazie ancora
-
Così va meglio.
Ma non potevi usare un modulo già fatto?
Qualcosa c'è nell'area download.
-
grazie per l'aiuto..
ora funziona..
Non ho cercato perchè pensavo che c'era solo quello delle News, ma le notizie scorrono in veriticale.
A me serve qualcosa che mi scorre orizzontalmente e allora ho provato a farlo io.
Grazie ancora per il tuo aiuto.
A presto ;)