Avatar billede f-andersen Nybegynder
23. september 2006 - 18:33 Der er 16 kommentarer og
2 løsninger

Skiftende tekst

Jeg skal bruge et tekst rotations system til min hjemmeside.

Jeg har en mySQL database liggende under min hjemmeside.
I den har jeg lavet en tabel der hedder rotation, med 2 felter, ID og tekst.

Jeg vil have et menupunkt under mit admin site, hvor jeg kan tilføje/slette/rette tekster.
Dvs, der skal være en formular, hvor jeg kan tilføje teksten i databsen.

Så dernæst skal det jo udskrives på siden.
Og jeg kunne forstille mig at man skal bruge

$rotation[$id]=$tekst;

Echo(”$rotation”);

(Selfølgelig med lidt mere kode, bare et eksempel)

Forstår i idéen? Hvis ikke, skriv 
Avatar billede onkel_satan Nybegynder
23. september 2006 - 19:40 #1
Hvis jeg forstår dig ret så spoerger du om hvordan du skriver en tekst til din db, henter den ud igen og skriver den på din side ?

Jeg er ikke helt med på hvad du mener med rotation, er det bare den nyeste tekst der skal skives ud på side ?
Avatar billede f-andersen Nybegynder
23. september 2006 - 19:48 #2
Meningen med rotationen er at, jeg vil kunne skrive nogle sætninger, som så bliver roteret på siden.

Tabellen:
ID            Tekst
1              Hej Hej
2              Eksperten
3              Tester

Hvis tabellen indeholder disse 3 tekster, skal de kunne "rotere" på siden, forstået på den måde at der fx, står når du går ind på siden. www.mitsite.dk, står der fx, eksperten, men hvis man reloader siden, så kommer der fx. til at stå tester.

Så vil jeg jo gerne fra mit admin interface, tilføje sætninger/tekster, som så kan blive vist på siden.
Forståeligt?
Avatar billede onkel_satan Nybegynder
23. september 2006 - 19:57 #3
ok, på den måde. Skal teksterne hentes ud kronologisk eller random ?

Inden vi begynder, hvor meget kan du nu ? ved du for eksempel hvordan du skriver til din database ?
Avatar billede zynzz Praktikant
23. september 2006 - 20:16 #4
mysql_query("SELECT tekst FROM rotation ORDER by RAND() LIMIT 1");

måske?
Avatar billede onkel_satan Nybegynder
23. september 2006 - 20:20 #5
Praacis, saa har du dit udtraek. Andet som driller ?
Avatar billede onkel_satan Nybegynder
23. september 2006 - 20:27 #6
En anden måde at gøre det på kunne vaere at have et dato felt 'sidstSet' som du opdatere efter at have hentet det ud.  Du skal saa bare huske at hente den tekst ud med den ældste dato i 'sidstSet'. På den måde kommer du med garanti alle dine tekster igennem.
Med rand kan i præncippet hente det samme billede ud 2 gange i træk, selvom det dog er højst usandsynligt, well sandsynligheden bliver selv. mindre jo flere tekser du har i dbsen
Avatar billede zynzz Praktikant
23. september 2006 - 20:35 #7
Ja, der er jo chance for det samme kan komme 2 gange i træk eller flere...
Avatar billede f-andersen Nybegynder
23. september 2006 - 20:39 #8
Jeg har ingenting lige pt.

Jeg ved godt hvordan jeg skriver til databasen. Hvis det bare er den simple commando INSERT INTO osv..

onkel satan -> random...
Avatar billede zynzz Praktikant
23. september 2006 - 20:52 #9
Ja du skal bruge insert into for at sætte ind i databasen, og bruge mysql_query("SELECT tekst FROM rotation ORDER by RAND() LIMIT 1"); for at hente dataen ud...
Avatar billede onkel_satan Nybegynder
23. september 2006 - 20:58 #10
Hvis du vil benytte sidstSet ser sql udtrækket således ud:
SELECT * FROM rotation ORBER BY sidstSet LIMIT 1
Lige efter skal du saa:
UPDATE rotation SET sidstSet=now() WHERE ID=$id

$id får du oppe fra det første udtraek.
Avatar billede zynzz Praktikant
23. september 2006 - 21:15 #11
nærmere sådan her:
$row = mysql_fetch_array(mysql_query("SELECT * FROM rotation ORBER BY sidstSet LIMIT 1"));

mysql_query("UPDATE rotation SET sidstSet=now() WHERE id='$row[id]'");
Avatar billede onkel_satan Nybegynder
23. september 2006 - 21:37 #12
Gik ud fra han godt kendte til db udtræk :D
Avatar billede zynzz Praktikant
24. september 2006 - 11:32 #13
yep, men nu skrev jeg det bare :)
Avatar billede f-andersen Nybegynder
24. september 2006 - 15:11 #14
Jeg har taget udgangspunkt i det første eksempel:

mysql_query("SELECT tekst FROM rotation ORDER by RAND() LIMIT 1");

Jeg har nu følgende:
I toppen af min side
<?php
include ("config.php");
    $rotation = mysql_fetch_array(mysql_query("SELECT tekst FROM rotation ORDER by RAND() LIMIT 1"));
?>


Og længere nede på min side har jeg lavet følgende:

<?php echo("$rotation"); ?>

Men, den skriver bare Array på siden...

Skal så lige tilføjes at jeg ikke plejer at lave udtræk på den måde, kan være det er det der bøvler :)
Avatar billede onkel_satan Nybegynder
24. september 2006 - 15:21 #15
Som funktions navnet også siger "mysql_fetch_array" så fetcher den et array. Dette array indeholder saa variablerne fra de SQL traek, i dit tilfaelde 'tekst'.
Proev derfor
echo $rotation[0];
Avatar billede f-andersen Nybegynder
24. september 2006 - 15:25 #16
Det fungere lidt bedre :)

Jeg synes i begge skal svare, så jeg kan fordele pointene..
Avatar billede onkel_satan Nybegynder
24. september 2006 - 15:32 #17
Kommer her.
Avatar billede zynzz Praktikant
24. september 2006 - 20:44 #18
Hermed svar så :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester