Läsa in tabell
Moderatorer: Supportgrupp, Moderatorgrupp
Läsa in tabell
Mitt forum ligger i en MySQL-databas. I samma databas finns en tabell med nyheter som jag använder för en nyhetssida (som för närvarande inte har något med forumet att göra).
Nu skulle jag vilja göra så att några av dessa nyheter listas i forumets footer. Men om jag lägger in en vanlig databaskoppling rakt upp och ner i footern (så som jag brukar göra i en vanlig php-sida) så händer inte ett skvatt.
Vad är det som är fel, och finns det något smidigt sätt att få det att fungera?
Nu skulle jag vilja göra så att några av dessa nyheter listas i forumets footer. Men om jag lägger in en vanlig databaskoppling rakt upp och ner i footern (så som jag brukar göra i en vanlig php-sida) så händer inte ett skvatt.
Vad är det som är fel, och finns det något smidigt sätt att få det att fungera?
Re: Läsa in tabell
Har du ändrat ACP -> Säkerhetsinställningar -> Tillåt php i mallar: JA
/Kjelle KonsultPoolen * Facebook * Twitter * MODx Verkstan
Brukar sova lite efter 29:e timman och Ingen support via PM!
Brukar sova lite efter 29:e timman och Ingen support via PM!
Re: Läsa in tabell
Sen ska man komma ihåg att rensa cachen (I ACP) och uppdatera tema, stil, efter ändringar i html-filer.
Re: Läsa in tabell
Hmm... det lät verkligen som en bra idé. Har ändrat Tillåt php i mallar nu, och tömt cachen (flera gånger för att vara på säkra sidan
). Fast det fungerar fortfarande inte. Funderar på om det har att göra med att forumets alla tabeller har prefixet phpbb3_ som inte min nyhetstabell har..?
Re: Läsa in tabell
Det tycker jag inte borde påverka. Men det är absolut värt att ladda ner en kopia, ändra prefixet, ladda upp en kopia med forumets prefix och testa. 
Får du nånting alls att synas i overall_footer? Testa med at skriva in bara nån text tex. test istället för den kod du använde röfr att försöka hämta nyheterna. Om den syns, så kan man ju utesluta fel i visningen iallafall.
Får du nånting alls att synas i overall_footer? Testa med at skriva in bara nån text tex. test istället för den kod du använde röfr att försöka hämta nyheterna. Om den syns, så kan man ju utesluta fel i visningen iallafall.
Re: Läsa in tabell
Nej, det har inget med prefixen att göra, den används bara internt i phpBB.
Prova med att ha PRINT eller ECHO så att du ser att du får ut något på skärmen.
För att inkludera php i en html fil så ska det se ut så här.
<!-- PHP -->
din kod...
<!-- ENDPHP -->
Prova med att ha PRINT eller ECHO så att du ser att du får ut något på skärmen.
För att inkludera php i en html fil så ska det se ut så här.
<!-- PHP -->
din kod...
<!-- ENDPHP -->
/Kjelle KonsultPoolen * Facebook * Twitter * MODx Verkstan
Brukar sova lite efter 29:e timman och Ingen support via PM!
Brukar sova lite efter 29:e timman och Ingen support via PM!
Re: Läsa in tabell
Det går åt rätt håll. Nu känner den i alla fall av att det finns en php-funktion. Den fungerar dock inte riktigt korrekt. Den ska läsa in ID, description och title vilket jag är övertygad om att den gör, men jag vet inte hur jag ska få den att skriva ut det.
Koden ser lite förenklat ut så här:
Det verkar vara just det som ser ut så här som skapar problem:
Testade att skriva följande men fick då något felmeddelande om =-tecknet.
Koden ser lite förenklat ut så här:
Kod: Markera allt
<!-- PHP -->
$link = @mysql_connect ("server", "username", "password");
if ($link && @mysql_select_db ("database"))
{
$result = @mysql_query ("SELECT ID, description, title FROM cont_news WHERE ID != 1 ORDER BY ID DESC LIMIT 4");
$row = @mysql_fetch_row ($result);
if (!$row)
{
<!-- ENDPHP -->
Inga nyheter kunde hittas i databasen. Var god kontakta webmastern om problemet kvarstår.
<!-- PHP -->
}
else
{
@setlocale (LC_TIME, "swedish");
while ($row)
{
<!-- ENDPHP -->
<a href="nyhet.php?id=<?= $row[0] ?>" title="<?= $row[2] ?>"><?= $row[1] ?></a>
<!-- PHP -->
$row = @mysql_fetch_row ($result);
}
}
@mysql_close ($link);
}
else
{
<!-- ENDPHP -->
Uppkopplingen mot databasen misslyckades. Var god kontakta webmastern om problemet kvarstår.
<!-- PHP -->
}
<!-- ENDPHP -->
Kod: Markera allt
<?= $row[0] ?>Kod: Markera allt
<!-- PHP -->= $row[0] <!-- ENDPHP -->Re: Läsa in tabell
Hur ska du få den koden att fungera, du startar php och avslutar, men sedan ställer du frågor i en ny php sekvens från en tidigare sekvens som redan är avslutad...
Kör hela koden innanför <!-- PHP --> <!-- ENDPHP --> och kan då köra echo och print från den.
echo " Inga nyheter kunde hittas i databasen. Var god kontakta webmastern om problemet kvarstår. ";
Kör hela koden innanför <!-- PHP --> <!-- ENDPHP --> och kan då köra echo och print från den.
echo " Inga nyheter kunde hittas i databasen. Var god kontakta webmastern om problemet kvarstår. ";
/Kjelle KonsultPoolen * Facebook * Twitter * MODx Verkstan
Brukar sova lite efter 29:e timman och Ingen support via PM!
Brukar sova lite efter 29:e timman och Ingen support via PM!
Re: Läsa in tabell
Hmm. Ja det är klart... Det kanske är onödigt krångligt. Men även om jag gör på ditt sätt så fungerar det fortfarande inte (blir samma fel). Koden fungerar ju utmärkt på vanliga php-sidor (utanför forumet) så jag ser inget hinder till att det inte ska kunna göra det även på forumet.
Postar koden igen, nu när den är lite finare:
Det är följande kodsnutt som fortfarande krånglar. Meningen är ju att den ska ta <?= $row[0] ?>, <?= $row[1] ?> och <?= $row[2] ?> och ersätta med det som står i kolumnerna ID, title och description i databasen.
Det jag vill ha ut är en länk där url:n ser ut ungefär som följande (där siffran är hämtad från databasen):
Men jag får bara ut:
Postar koden igen, nu när den är lite finare:
Kod: Markera allt
<!-- PHP -->
$link = @mysql_connect ("server", "username", "password");
if ($link && @mysql_select_db ("database"))
{
$result = @mysql_query ("SELECT ID, title, description FROM cont_news WHERE ID != 1 ORDER BY ID DESC LIMIT 4");
$row = @mysql_fetch_row ($result);
if (!$row)
{
echo 'Inga nyheter kunde hittas i databasen. Var god kontakta webmastern om problemet kvarstår.';
}
else
{
@setlocale (LC_TIME, "swedish");
while ($row)
{
echo "<a href='nyhet.php?id=<?= $row[0] ?>' title='<?= $row[2] ?>'><?= $row[1] ?></a>";
$row = @mysql_fetch_row ($result);
}
}
@mysql_close ($link);
}
else
{
echo "Uppkopplingen mot databasen misslyckades. Var god kontakta webmastern om problemet kvarstår.";
}
<!-- ENDPHP -->
Kod: Markera allt
echo "<a href='nyhet.php?id=<?= $row[0] ?>' title='<?= $row[2] ?>'><?= $row[1] ?></a>";Kod: Markera allt
/nyhet.php?id=291Kod: Markera allt
/nyhet.php?id=Re: Läsa in tabell
Möjligen
$rowname0 = $row[0]
$rowname1 = $row[1]
$rowname2 = $row[2]
echo '<a href="nyhet.php?id=$rowname0" title="$rowname2" > $rowname1</a> ';
$rowname0 = $row[0]
$rowname1 = $row[1]
$rowname2 = $row[2]
echo '<a href="nyhet.php?id=$rowname0" title="$rowname2" > $rowname1</a> ';
/Kjelle KonsultPoolen * Facebook * Twitter * MODx Verkstan
Brukar sova lite efter 29:e timman och Ingen support via PM!
Brukar sova lite efter 29:e timman och Ingen support via PM!
Re: Läsa in tabell
Gjorde följande:
Vet inte om koden är helt ideal (är inget kodningsgeni). Men den fungerar som jag vill och jag är väldigt nöjd. Stort tack för hjälpen!
Kod: Markera allt
$rowname0 = $row[0];
$rowname1 = $row[1];
$rowname2 = $row[2];
echo "<a href='/nyheter/nyhet.php?id=" . $rowname0 . "' title='" . $rowname2 . "'>" . $rowname1 . "</a>";
Re: Läsa in tabell
Bra, det viktigaste var att få bort <?= kod ?> då den inte vet vad som ska göras.
/Kjelle KonsultPoolen * Facebook * Twitter * MODx Verkstan
Brukar sova lite efter 29:e timman och Ingen support via PM!
Brukar sova lite efter 29:e timman och Ingen support via PM!
Vilka är online
Användare som besöker denna kategori: 1 och 0 gäst


