Gå til innhold

Inkludere MySQL i en hjemmeside, prosjekt


Anbefalte innlegg

Hei!

 

Har fått ett oppdrag på skolen, der vi skal sette opp en web-server(LAMP), lage en hjemmeside der, og litt diverse andre applikasjoner som f.eks Mediawiki.

 

Så hadde jeg litt lyst å bruke en database i sammenheng hjemmesiden, men vet ikke helt hva den skal gjøre.

 

Siden skal i hovedsak inneholde litt informasjon om oss, litt linker etc., altså helt basic greier.

 

Men noen som har forslag til hvordan jeg kunne ha inkludert en database i siden?(Hva slags "funksjon" den skulle hatt?)

 

På f.eks Wowhead så kommer det opp en ny Tittel for hver gang du oppdaterer, er det vanskelig å få til?

 

 

Takker!

 

(Edit: Beklager om jeg posta denne i feil forum)

Endret av Jaybird
Lenke til kommentar
Videoannonse
Annonse
Så hadde jeg litt lyst å bruke en database i sammenheng hjemmesiden, men vet ikke helt hva den skal gjøre.

 

Det første som slår meg er at når du ikke vet hva databasen skal brukes til så er det fordi du ikke trenger den. Men siden prosjektet er på en skole er kanskje poenget å lære litt også?

 

Anyways, når man har en hjemmeside er det greit å kunne oppdatere den enkelt, og da er det greit å bygge sidene på en applikasjon som gjør dette enklest mulig. En slik applikasjon kalles ofte et CMS (Content Management System), og et slikt system lagrer gjerne dataene sine i en database istedenfor html-filer. Hvis du f.eks. installerer mediawiki etterhvert vil du oppdage at den trenger MySQL til dette.

 

Hvis du ikke vet hva en database er så foreslår jeg egentlig at du prøver å google litt. Du kan også starte her: http://en.wikipedia.org/wiki/Database Mange databaser, som f.eks. MySQL er enkle å installere og komme igang med. Prøv dét så får du sikkert ideer om hva du kan bruke den til. MySQL tutorials finner du sikkert fram til via google på egenhånd. Det er mange gode å velge mellom.

 

Det fins også en egen databasegruppe her på forumet som du kan poste spørsmål i.

Endret av quantum
Lenke til kommentar

Begynn med SQLite som database, MySQL er oppskrytt tullball som kræsjer i ny og ne.

SQLite er rask, enkel å forhalde seg til og ikkje minst innebygd i webutviklingsspråk som PHP(så lenge sqlite modulen ikkje er tatt vekk).

 

Lite eksempel i php:

  <?php
// create new database (procedural interface)
$db = sqlite_open("db.sqlite");

// uncomment next line if you still need to create table foo
// sqlite_query($db , "CREATE TABLE foo (id INTEGER PRIMARY KEY, name CHAR(255))");

// insert sample data
sqlite_query($db, "INSERT INTO foo (name) VALUES ('Ilia')");
sqlite_query($db, "INSERT INTO foo (name) VALUES ('Ilia2')");
sqlite_query($db, "INSERT INTO foo (name) VALUES ('Ilia3')");

// execute query
$result = sqlite_query($db, "SELECT * FROM foo");
// iterate through the retrieved rows
while ($row = sqlite_fetch_array($result)) {
print_r($row);
/* each result looks something like this
Array
(
	[0] => 1
	[id] => 1
	[1] => Ilia
	[name] => Ilia
)
*/
}

// close database connection
sqlite_close($db);

?>

Lenke til kommentar
Begynn med SQLite som database, MySQL er oppskrytt tullball som kræsjer i ny og ne.

SQLite er rask, enkel å forhalde seg til og ikkje minst innebygd i webutviklingsspråk som PHP(så lenge sqlite modulen ikkje er tatt vekk).

 

Lite eksempel i php:

  <?php
// create new database (procedural interface)
$db = sqlite_open("db.sqlite");

// uncomment next line if you still need to create table foo
// sqlite_query($db , "CREATE TABLE foo (id INTEGER PRIMARY KEY, name CHAR(255))");

// insert sample data
sqlite_query($db, "INSERT INTO foo (name) VALUES ('Ilia')");
sqlite_query($db, "INSERT INTO foo (name) VALUES ('Ilia2')");
sqlite_query($db, "INSERT INTO foo (name) VALUES ('Ilia3')");

// execute query
$result = sqlite_query($db, "SELECT * FROM foo");
// iterate through the retrieved rows
while ($row = sqlite_fetch_array($result)) {
print_r($row);
/* each result looks something like this
Array
(
	[0] => 1
	[id] => 1
	[1] => Ilia
	[name] => Ilia
)
*/
}

// close database connection
sqlite_close($db);

?>

 

MySql kræsjer "i ny og ne". Er det noe bror din har fortalt deg?

 

Selv vil jeg anbefale å starte med mysql, det finnes mye mer matriale en til sqlite på nett.

 

Enkel og fungerende WAMP Setup (hvis det ikke må være LAMP): http://www.techmalaya.com/2007/09/10/begin...th-screenshots/

 

Bra sted for å starte med SQL: http://www.w3schools.com/SQl/default.asp

 

Mysql, på denne siden og i menyen til høyre finnes du funksjoner som er tilgjengelig, samt eksempler og veldig mange gode brukerkommentarer: http://no.php.net/manual/en/function.mysql-query.php

 

Random tekst eksempel skrevet i PHP: http://www.hawkee.com/snippet/1184/

Endret av TheGreatOne
Lenke til kommentar
MySql kræsjer "i ny og ne". Er det noe bror din har fortalt deg?

 

Selv vil jeg anbefale å starte med mysql, det finnes mye mer matriale en til sqlite på nett.

 

Enkel og fungerende WAMP Setup (hvis det ikke må være LAMP): http://www.techmalaya.com/2007/09/10/begin...th-screenshots/

 

Bra sted for å starte med SQL: http://www.w3schools.com/SQl/default.asp

 

Mysql, på denne siden og i menyen til høyre finnes du funksjoner som er tilgjengelig, samt eksempler og veldig mange gode brukerkommentarer: http://no.php.net/manual/en/function.mysql-query.php

 

Random tekst eksempel skrevet i PHP: http://www.hawkee.com/snippet/1184/

 

Ja MySQL med MyISAM kræsjer i ny og ne, InnoDB er meir stabilt men då begynner me å snakke om at ein må begynna å lære seg større deler av MySQL.

 

Det finnes mykje dokumentasjon av SQLite, ikkje minst mykje meir "korrekt" dokumentasjon der prepared statements er grunnleggandes. Oppsett av MySQL er også ein stor unaudvendig jobb for ein som vil læra seg databaser.

 

For å si det rett ut, så er SQLite teknologisk, ytelsesmessig og pedagogisk eit mykje betre alternativ å starte med.

Lenke til kommentar
MySql kræsjer "i ny og ne". Er det noe bror din har fortalt deg?

 

Selv vil jeg anbefale å starte med mysql, det finnes mye mer matriale en til sqlite på nett.

 

Enkel og fungerende WAMP Setup (hvis det ikke må være LAMP): http://www.techmalaya.com/2007/09/10/begin...th-screenshots/

 

Bra sted for å starte med SQL: http://www.w3schools.com/SQl/default.asp

 

Mysql, på denne siden og i menyen til høyre finnes du funksjoner som er tilgjengelig, samt eksempler og veldig mange gode brukerkommentarer: http://no.php.net/manual/en/function.mysql-query.php

 

Random tekst eksempel skrevet i PHP: http://www.hawkee.com/snippet/1184/

 

Ja MySQL med MyISAM kræsjer i ny og ne, InnoDB er meir stabilt men då begynner me å snakke om at ein må begynna å lære seg større deler av MySQL.

 

Det finnes mykje dokumentasjon av SQLite, ikkje minst mykje meir "korrekt" dokumentasjon der prepared statements er grunnleggandes. Oppsett av MySQL er også ein stor unaudvendig jobb for ein som vil læra seg databaser.

 

For å si det rett ut, så er SQLite teknologisk, ytelsesmessig og pedagogisk eit mykje betre alternativ å starte med.

 

1. Hvis alle de kræsjene du maser om oppstår vil han mest sannsynlig aldri merke dem.

2. Det finnes mye, men ikke i nærheten så mye som om mysql (google gir 25:1)

2a. korrekt dokumentasjon? søker du etter blogdpot mysql vil du selvsagt få opp mye dritt.

3. sqlite har mange mangler, den O store ytelses forbedringen kommer ikke til å merkes i det hele tatt på en hjemmeserver, ser ikke hvordan sqlite er så mye mer padagogisk heller.

 

Ved å starte med mysql har man også veldig mange gode verktøy for utvikling/testing som f.eks phpMyAdmin og mySql Workbench. Samt at man starter svært enkelt og senere når man er klar kan man utvide/gå over til å bruke mysqli klassene (for å kunne ta ibruk statments osv.

 

//Dan

Endret av Danjaco
Lenke til kommentar
Begynn med SQLite som database, MySQL er oppskrytt tullball som kræsjer i ny og ne.

SQLite er rask, enkel å forhalde seg til og ikkje minst innebygd i webutviklingsspråk som PHP(så lenge sqlite modulen ikkje er tatt vekk).

 

Lite eksempel i php:

  <?php
// create new database (procedural interface)
$db = sqlite_open("db.sqlite");

// uncomment next line if you still need to create table foo
// sqlite_query($db , "CREATE TABLE foo (id INTEGER PRIMARY KEY, name CHAR(255))");

// insert sample data
sqlite_query($db, "INSERT INTO foo (name) VALUES ('Ilia')");
sqlite_query($db, "INSERT INTO foo (name) VALUES ('Ilia2')");
sqlite_query($db, "INSERT INTO foo (name) VALUES ('Ilia3')");

// execute query
$result = sqlite_query($db, "SELECT * FROM foo");
// iterate through the retrieved rows
while ($row = sqlite_fetch_array($result)) {
print_r($row);
/* each result looks something like this
Array
(
	[0] => 1
	[id] => 1
	[1] => Ilia
	[name] => Ilia
)
*/
}

// close database connection
sqlite_close($db);

?>

 

MySql kræsjer "i ny og ne". Er det noe bror din har fortalt deg?

 

Selv vil jeg anbefale å starte med mysql, det finnes mye mer matriale en til sqlite på nett.

 

Enkel og fungerende WAMP Setup (hvis det ikke må være LAMP): http://www.techmalaya.com/2007/09/10/begin...th-screenshots/

 

Bra sted for å starte med SQL: http://www.w3schools.com/SQl/default.asp

 

Mysql, på denne siden og i menyen til høyre finnes du funksjoner som er tilgjengelig, samt eksempler og veldig mange gode brukerkommentarer: http://no.php.net/manual/en/function.mysql-query.php

 

Random tekst eksempel skrevet i PHP: http://www.hawkee.com/snippet/1184/

 

Hei!

 

Anngående den ramdom tekst saken, hvordan blir det å plassere denne i tittelen? Er ikke så driven på php. Har prøvd dette:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>


<?php
$random_text = array("Random Text 1",
				"Random Text 2",
				"Random Text 3",
				"Random Text 4",
				"Random Text 5");
srand(time());
$sizeof = count($random_text);
$random = (rand()%$sizeof);
print("$random_text[$random]");
?>


</head>

<body>
hei
</body>
</html>

Men da skjer det ingenting i tittelfeltet.

 

Noen som kan hjelpe meg litt her? :)

Lenke til kommentar

Et eksempel på hvordan det kan gjøres:

 

<?php
$random_text = array("Random Text 1",
				"Random Text 2",
				"Random Text 3",
				"Random Text 4",
				"Random Text 5");
srand(time());
$sizeof = count($random_text);
$random = (rand()%$sizeof);
$display = $random_text[$random];
?>

<HTML>

<HEAD>
<TITLE><?php echo $display; ?></TITLE>
</HEAD>

<BODY>
content goes here
</BODY>

</HTML>

Endret av Danjaco
Lenke til kommentar
1. Hvis alle de kræsjene du maser om oppstår vil han mest sannsynlig aldri merke dem.

2. Det finnes mye, men ikke i nærheten så mye som om mysql (google gir 25:1)

2a. korrekt dokumentasjon? søker du etter blogdpot mysql vil du selvsagt få opp mye dritt.

3. sqlite har mange mangler, den O store ytelses forbedringen kommer ikke til å merkes i det hele tatt på en hjemmeserver, ser ikke hvordan sqlite er så mye mer padagogisk heller.

 

Ved å starte med mysql har man også veldig mange gode verktøy for utvikling/testing som f.eks phpMyAdmin og mySql Workbench. Samt at man starter svært enkelt og senere når man er klar kan man utvide/gå over til å bruke mysqli klassene (for å kunne ta ibruk statments osv.

 

//Dan

 

1. Under utvikling når eit skript går galt så kan det kræsje MySQL(MyISAM) fordi den ikkje støtter atomic commits. Det skjer ofte, og kan bli svært frustrerandes.

2. 25 gonger meir drittdokumentasjon teller ikkje, den viktige dokumentasjonen til MySQL spesielt angåene oppsett av sync_binlog er det knapt nokon som nevner.

3. Kva er det SQLite mangler som ikkje MySQL har? Reverse indekser? Å nei, det er det MySQL som ikkje har. SQLite støtter fremmednøkler, triggere, check contraints(det støtter heller ikkje MySQL) og transaksjoner.

 

SQLite er meir pedagogisk når ein nybegynner ikkje trenger å bruke tid på å installere MySql modulen til PHP, installere og sette opp ein databasetjeneste, SQLite gir også skikkelege feilmeldinger og setter ikkje inn standard verdier i NOT NULL felter. Trenger ein GUI så har ein eit lite program som heiter SQLite browser

Lenke til kommentar
1. Hvis alle de kræsjene du maser om oppstår vil han mest sannsynlig aldri merke dem.

2. Det finnes mye, men ikke i nærheten så mye som om mysql (google gir 25:1)

2a. korrekt dokumentasjon? søker du etter blogdpot mysql vil du selvsagt få opp mye dritt.

3. sqlite har mange mangler, den O store ytelses forbedringen kommer ikke til å merkes i det hele tatt på en hjemmeserver, ser ikke hvordan sqlite er så mye mer padagogisk heller.

 

Ved å starte med mysql har man også veldig mange gode verktøy for utvikling/testing som f.eks phpMyAdmin og mySql Workbench. Samt at man starter svært enkelt og senere når man er klar kan man utvide/gå over til å bruke mysqli klassene (for å kunne ta ibruk statments osv.

 

//Dan

 

1. Under utvikling når eit skript går galt så kan det kræsje MySQL(MyISAM) fordi den ikkje støtter atomic commits. Det skjer ofte, og kan bli svært frustrerandes.

2. 25 gonger meir drittdokumentasjon teller ikkje, den viktige dokumentasjonen til MySQL spesielt angåene oppsett av sync_binlog er det knapt nokon som nevner.

3. Kva er det SQLite mangler som ikkje MySQL har? Reverse indekser? Å nei, det er det MySQL som ikkje har. SQLite støtter fremmednøkler, triggere, check contraints(det støtter heller ikkje MySQL) og transaksjoner.

 

SQLite er meir pedagogisk når ein nybegynner ikkje trenger å bruke tid på å installere MySql modulen til PHP, installere og sette opp ein databasetjeneste, SQLite gir også skikkelege feilmeldinger og setter ikkje inn standard verdier i NOT NULL felter. Trenger ein GUI så har ein eit lite program som heiter SQLite browser

 

Sorry, men du gjør alt ti ganger vanskligere en det egentlig er, 90% av det du nevner i dine poster er ting man ikke trenger å tenke på i starten.

 

F.eks: Installere mysql til php i windows kan gjøres så lett som å trykke: neste, neste, ok, ok i en isntaller

Endret av Danjaco
Lenke til kommentar

Ja og då har du installert ein tjeneste som krever ekstra tid og ressureser for å administrere brukere, tilkobling, brannmur osv, tjenesten ligger også i bakgrunnen og tar litt av minnet ein har og auker oppstartstida til pcen unaudvendig. For å ikkje nevne kompleksiteten med å opprette database, kven som skal eige databasen, kven som skal har rettigheter til databasen, kva slags tabeller som skal opprettes(MyIsam eller InnoDB) og med ein av dei så mister ein funksjonalitet og sitter igjen med "WTF det funka jo istad".

 

For å ikkje nemne at MySQL også diller med å bruke latin-1 enkoding som standard når ALLE andre bruker UTF-8, til og med Microsoft SQL Server

 

Med SQLite så slipper ein det der, det er så enkelt så det kan bli.

Lenke til kommentar
...

Ja MySQL med MyISAM kræsjer i ny og ne, InnoDB er meir stabilt men då begynner me å snakke om at ein må begynna å lære seg større deler av MySQL.

...

For å si det rett ut, så er SQLite teknologisk, ytelsesmessig og pedagogisk eit mykje betre alternativ å starte med.

Ingen tvil om at mysql har sine «sider», men det er på ingen måte vanskeligere å bruke innodb enn myisam, hvis man først bruker mysql. Vil vel heller si det motsatte, med myisam er man nødt til å sette seg inn i og være klar over alskens ting som ikke virker, slik at man ikke pådrar seg for store inkonsistenser.

 

Pedagogisk sett er MySQL noe ræl, det er jeg helt enig i.

 

Mediawiki var nevnt her, hvis SQLite er ok for mediawiki er det vel lite å lure på.

Lenke til kommentar
...

Ja MySQL med MyISAM kræsjer i ny og ne, InnoDB er meir stabilt men då begynner me å snakke om at ein må begynna å lære seg større deler av MySQL.

...

For å si det rett ut, så er SQLite teknologisk, ytelsesmessig og pedagogisk eit mykje betre alternativ å starte med.

Ingen tvil om at mysql har sine «sider», men det er på ingen måte vanskeligere å bruke innodb enn myisam, hvis man først bruker mysql. Vil vel heller si det motsatte, med myisam er man nødt til å sette seg inn i og være klar over alskens ting som ikke virker, slik at man ikke pådrar seg for store inkonsistenser.

 

Pedagogisk sett er MySQL noe ræl, det er jeg helt enig i.

 

Mediawiki var nevnt her, hvis SQLite er ok for mediawiki er det vel lite å lure på.

 

MySQL er jo allerede installert vis han har XAMPP/LAMPP.

aldri hatt noe problemer selv med MySQL.

Lenke til kommentar

SQLite er også allereie innstallert om han har PHP.

Om du ikkje har hatt problemer med MySQL før så kan du prøve dette:

CREATE TABLE null_1 (
 id INT NOT NULL,
 text1 VARCHAR(32) NOT NULL,
 text2 VARCHAR(32) NOT NULL DEFAULT 'foo'
);

INSERT INTO null_1 (id) VALUES(1);
INSERT INTO null_1 (text1) VALUES('test');

SELECT * FROM null_1;

Heile greia skriker bare WTF, og det er ein bug som har vore der i over eit tiår. Enda verre er det med datoer.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...