Avatar billede hewa Nybegynder
27. december 2006 - 20:29 Der er 4 kommentarer og
1 løsning

Det helt basale php og mysgl

Jeg kan godt finde ud af HTML og stylesheets, men når det kommer til PHP og mysql, kommer jeg totalt til kort.

Jeg skal i gang med et større site, der bliver afhænging af, der ligger en database under, men jeg forstår ikke logikken i det. Alle steder på nettet starter man ud med at fortælle om løkker og betingelser og hvor smart det er - men det helt basale har jeg ikke kunne finde noget omkring.
Er der nogen, der kan henvise til et godt sted?

Lad os tage et eksempel. Vi har en menu, der ser sådan ud:
punkt 1
punkt 2
punkt 3

Når jeg klikker på et punkt, skal det indhold der er koblet op med menupunktet, vises som tekst, men hvordan kobles menuen til noget indhold?
Jeg kan godt se, spørgsmålet lyder dumt, når jeg ser på, hvad der ellers bliver spurgt om her på sitet - men jeg fatter det simpelthen ikke...

På forhånd tak for hjælpen :-)
Avatar billede allanrbo Nybegynder
27. december 2006 - 21:33 #1
Når du siger du læser alle steder på nettet om løkker og betingelser, så er det altså fordi det er væsentligt at forstå disse grund-begræber før man kan lave noget webprogrammering. Jeg vil gerne henvise dig til et site som fortæller noget grundlæggende php og mysql, men først vil jeg lige resumere for dig hvad en database er, så du kan beslutte om det overhovedet er noget du skal bruge.

Et databasesystem er en samling af "tabeller". Disse tabeller har nogle kolonner og nogle rækker (ligesom et excel-ark har kolonner og rækker). F.eks. hvis jeg ville lave en side ligesom eksperten.dk, kunne jeg starte med at lave en bruger-tabel. Den kunne have kolonnerne: brugernavn, emailadresse, point

Jeg kunne så fylde nogle rækker i denne tabel. Følgende tre linjer kunne f.eks. være tre rækker kunne f.eks. være 3 rækker
"allanrbo", "allan@test.com", 500
"hewa", "hewa@test.com", 500
"MrTest", "test@test.com", 1000

Jeg kan nu bruge mit databasesystem til at lave forespørgspørgsler på denne tabel. Jeg kan f.eks. spørge min database "giv mig navnet på alle brugerne der har 500 point" (man skriver dog ikke dette på dansk, men i et særligt sprog som hedder SQL).

Herefter kunne man lave en tabel som indeholdt alle spørgsmål til sitet (vi ville jo i eksemplet her lave et site ligesom eksperten.dk). Den kunne indeholde kolonnerne: brugernavn, spørgsmåltekst, point
Og endnu en tabel til svar f.eks.

Spørgsmålet er nu, dette site du skal lave. Kommer det til at indeholde data af denne type, som skal kunne ændres løbende af brugerne, eller er det bare en samling informationssider? Hvis sidstnævnte er tilfældet, ville jeg holde mig til almindelige html-filer. De er meget nemmere at overskue. Hvis du absolut ville flytte dit indhold ind i en database, kunne du f.eks. lave en tabel som hed "sider", med kolonnerne: tekstindhold, forfatter, oprettet, sidstRedigeret

Men med mindre man har flere tusind forfattere, giver det ikke meget mening ikke bare at lade siderne være html-filer i stedet for rækker i en database.

Håber du har fået et lille indblik i hvad databaser bruges til. Jeg kan helt klart anbefale at lære at bruge dem! De er meget nyttige. Men brug dem ikke til noget der lige så godt kunne være lavet uden - det komplicerer bare tingene unødigt.

En af mine venner lærte php og mysql rimeligt hurtigt ved at følge nogle guides på denne side: http://www.sitepoint.com/subcat/php-tutorials
Scroll ned og find de guides der hedder "The PHP Anthology (...)" (startene december 2003).
Avatar billede allanrbo Nybegynder
27. december 2006 - 21:44 #2
(rettelse til ovensteånde: Man skulle selvfølgeligt også have en titel-kolonne på sin "sider"-tabel)

iøvrigt, som svar på dit eksempel-spørgsmål:

Skal vi sige vores menupunkt linker <a href="index.php?side=menupunkt1">Menupuntk 1</a>

Så skulle index.php altså indeholde følgende et sted:

<?php

mysql_connect("localhost", "mysql_user", "mysql_password");
$resultat = mysql_query("SELECT * FROM sider WHERE sidenavn='".mysql_escape_string($_GET["side"])."'");
$række = mysql_fetch_assoc($resultat);

echo "<p><b>Forfatter: ".$række["forfatter"]."</b></p>";
echo "<h1>".$række["titel"]."</h1>";
echo "<p>".$række["indhold"]."</p>";

?>

Men selvfølgeligt forudsat at man i sin database har oprettet tabellen, og indsat rækkerne (dvs. måske lavet en anden php-side til at indsætte rækker). Tag ovenstående med et gran salt, og mere som en ide om hvordan PHP og MySQL ser ud. Jeg har ikke lige testet koden.

God held med projektet.
Avatar billede hewa Nybegynder
27. december 2006 - 21:54 #3
Tak for dit svar.

Jeg ved godt, hvad en database er og hvad man kan bruge den til. Jeg har tidligere lavet et sitet, som startede med flade HTML sider, så blev den lavet om til php og siden blev den lavet yderligere om, så det blev integreret med en database og nye php koder - dog var det ikke mig, der kodede det, jeg stod for alt det indholdsmæssige. Dermed kender jeg til mulighederne, man har ret svært ved at komme i gang med det.

Det jeg ikke forstår i første omgang er, hvordan menuen der består af de tre ekspempler, kan vise det indhold, der hører til hver især af punkterne. Forstår du, hvad jeg mener?

Jeg må være ærlig at sig, jeg har ikke søgt efter vejledninger på engelsk, da jeg ikke er helt så godt rustet til det. Jeg kan klare mig i tale, men ikke i tekst på engelsk :)
Avatar billede hewa Nybegynder
27. december 2006 - 22:04 #4
Ja okay, du skrev til mig, som jeg svarede på det første :)

Det eksempel du viser, giver mig en ide om, hvor vi er på vej hen ad. Tak for det.

Kan du henvise til danske sider med guider?

Jeg vil under alle omstændigheder godt give dig point for der første du har lavet. Skal jeg bare trykke på Accepter, når du har skrevet et indlæg?
Avatar billede allanrbo Nybegynder
27. december 2006 - 22:20 #5
Hej igen. Jeg må indrømme jeg kender ikke så mange danske sider med guides til php. Jeg ved der findes en rimelig stor side www.phpuniverset.dk , men om hvor gode deres guides er, ved jeg ikke... Brug google en masse!

Den aller bedste hjælp vil dog helt klart være php-manualen! Den er vist delvist oversat til dansk! Her følger et link til mysql-kapitlet i den danske oversættelse
http://dk.php.net/manual/da/ref.mysql.php
Klik dig ind og se på eksemplerne under mysql_connect-funktionen og mysql_query-funktionen.

God held med det
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

Seneste spørgsmål Seneste aktivitet
I går 10:21 Ny printer, men hvilken Af mort1 i Printere
13/0819:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging