Avatar billede nitram30 Nybegynder
09. januar 2007 - 19:22 Der er 22 kommentarer og
1 løsning

Hjælp til oprettelse af mySQL database og php filer.

Hejsa!

Jeg har læst og testet et ellers glimrender eksempel på en MySQL tagwall. Men har nu andre planer med eksemplet.

Jeg vil oprette en tabel på hjemmeside der viser alle oprettede informationer som ligger i databasen. har alle filerne men de kræver lidt tilpasning. Tror jeg har forståelse for hvordan noget af det virker, men vil være meget mere med hvis jeg får lidt hjælp.

så nr1 er at få hjælp til mysql.
nr2 bliver php filerne.

1:
CREATE TABLE `database` (
`id` int(4) unsigned NOT NULL auto_increment,
`side` varchar(100) NOT NULL default '',
`beskrivelse` longtext NOT NULL,
`ratepoints` longtext NOT NULL,
`www` varchar(100) NOT NULL default '',
`date` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=162 ;


ratepoints er til at indtaste tal. så ved ikke om den er rigtig.
Databasen skal fungere sådan at de populære sider bliver listet i id som 1, 2, 3 osv Men som i kan se ved jeg for lidt om det.

tror nemlig at vi sorterer informationerne fra databasen i php filen..

Men tjek lige om nr 1 er rigtig før jeg kommer til spørgsmål 2.

Mvh
Martin
Avatar billede nitram30 Nybegynder
09. januar 2007 - 19:24 #1
betyder:
varchar(100) NOT NULL default
at der kun kan indtastes 100 bogstaver?
Avatar billede mcgoat Nybegynder
09. januar 2007 - 19:26 #2
ville nok sætte ratepoints til at være en INT (INT = Integer = Heltal)

varchar(100) betyder der kan stå 100 karakterer ja :)
Avatar billede mcgoat Nybegynder
09. januar 2007 - 19:26 #3
og til beskrivelse plejer jeg at bruge BLOP/BLOB. Har desværre ikke rigtig erfaring med longtext
Avatar billede nitram30 Nybegynder
09. januar 2007 - 19:45 #4
CREATE TABLE `database` (
`id` int(4) unsigned NOT NULL auto_increment,
`side` varchar(30) NOT NULL default '',
`kortbeskrivelse` varchar(30) NOT NULL default '',
`beskrivelse` varchar(250) NOT NULL default '',
`ratepoints` INT NOT NULL,
`www` varchar(30) NOT NULL default '',
`date` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=162 ;

Besluttede mig for at tilføje en "kortbeskrivelse"
og fjerne longtekst ved beskrivelse.

skal INT sættes sådan?
Avatar billede nitram30 Nybegynder
09. januar 2007 - 19:45 #5
hvad betyder:

TYPE=MyISAM AUTO_INCREMENT=162
Avatar billede nitram30 Nybegynder
09. januar 2007 - 19:47 #6
ratepoints skal bruges til et point system hvor tallene kan lægges sammen senere og vises i php filen
Avatar billede mcgoat Nybegynder
09. januar 2007 - 19:53 #7
MyISAM er "motoren". Den kan du læse lige om her, der findes nemlig også andre typer
http://dev.mysql.com/doc/refman/5.0/en/myisam-storage-engine.html

ville nok sætte INT(10) så kan tallet f.eks være 1111111111, altså 10 lang.

AUTO_INCREMENT:
id` int(4) unsigned NOT NULL auto_increment,
Du har sat dit primære id til at være auto_increment, så posterne i SB får forskellige id's , og det skal de selvfølgelig også. Og det ID er nået op på 162 indtil videre
Avatar billede nitram30 Nybegynder
09. januar 2007 - 20:02 #8
CREATE TABLE `database` (
`id` int(4) unsigned NOT NULL auto_increment,
`side` varchar(30) NOT NULL default '',
`kortbeskrivelse` varchar(30) NOT NULL default '',
`beskrivelse` varchar(250) NOT NULL default '',
`ratepoints` INT(10) NOT NULL,
`www` varchar(30) NOT NULL default '',
`date` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;


skal jeg så sætte AUTO_INCREMENT=1 for at forstå det korrekt altså at den tæller fra 1 og opefter?

læser lige linket til MyISAM.
Avatar billede mcgoat Nybegynder
09. januar 2007 - 20:04 #9
yep. hvis du vil starte på 1 så bare sæt den til 1 :)
Avatar billede nitram30 Nybegynder
09. januar 2007 - 20:10 #10
okay oprettet lige MySQL databasen.
og vender tilbage emd spørgsmål 2.
Avatar billede nitram30 Nybegynder
09. januar 2007 - 20:20 #11
har oprettet config.php

<?   
    $dbhost = "localhost"; // ADRESSEN TIL MYSQL   
    $database = "xxx_dk"; // Database   
    $dbuser = "xxx_dk"; // Bruger   
    $dbpass = "xxxxxxx"; // Kode
?>
<?
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($database);
?>
Avatar billede nitram30 Nybegynder
09. januar 2007 - 20:49 #12
3. data.php
skal kun vise indhold fra databasen.

Det her bliver straks værre for mig..
Vil have info fra databasen listet som du ser her:
http://www.gmsimport.dk/tabel.htm

udfyldning af formular skal ske fra en anden php side.

så hvad tager vi først?
data.php eller formular.php

starter med formular.php
Avatar billede nitram30 Nybegynder
09. januar 2007 - 20:50 #13
formular.php


<? include "config.php"; ?>

<?
if ($_POST[action] == "update"){
    $side = ($_POST[side]);
    $kortbeskrivelse = ($_POST[kortbeskrivelse]);
    $beskrivelse = ($_POST[beskrivelse]);
    $ratepoints = ($_POST[ratepoints]);
    $www = ($_POST[www]);
   
    $sql = "INSERT INTO database (side,kortbeskrivelse,beskrivelse,ratepoints,www) VALUES ('".$side."','".$kortbeskrivelse."','".$beskrivelse."','".$ratepoints."','".$www."')";
        mysql_query($sql) or die (mysql_error());
}
?>

<form action="" method=post>
<input type="hidden" name="action" value="update">
<FONT face=tahoma size=2>data fra databasen <br>
<br>Skriv til databasen:<br></FONT> 



<input type="text" name="side" onfocus="if(this.value=='side')this.value='';" onblur="if(this.value=='')this.value='side';" value="side" size="23" maxlength="100" style="width: 400" />
<br>
<input type="text" name="kortbeskrivelse" onfocus="if(this.value=='kortbeskrivelse')this.value='';" onblur="if(this.value=='')this.value='kortbeskrivelse';" value="kortbeskrivelse" size="23" maxlength="100" style="width: 400" />
<br>
<input type="text" name="beskrivelse" onfocus="if(this.value=='beskrivelse')this.value='';" onblur="if(this.value=='')this.value='beskrivelse';" value="beskrivelse" size="23" maxlength="100" style="width: 400" />
<br>
<input type="text" name="ratepoints" onfocus="if(this.value=='ratepoints')this.value='';" onblur="if(this.value=='')this.value='ratepoints';" value="ratepoints" size="23" maxlength="100" style="width: 400" />
<br>
<input type="text" name="www" onfocus="if(this.value=='www (uden http://)')this.value='';" onblur="if(this.value=='')this.value='www (uden http://)';" value="www (uden http://)" size="23" maxlength="60" style="width: 400" />
<br>
<input align="right" name="update" type="submit" value="Send" style="height: 20;width: 400" />

<?
}
?>
Avatar billede mcgoat Nybegynder
09. januar 2007 - 20:55 #14
Må lige kigge på det i morgen, er lige igang med en vigtig poker-tunering :)
Avatar billede nitram30 Nybegynder
09. januar 2007 - 20:59 #15
arhaaa, det skal også passes. :-)
SES i morgen

men kan desværre ikke se formular.php
Avatar billede nitram30 Nybegynder
09. januar 2007 - 22:56 #16
formular.php


<? include "config.php"; ?>

<?
if ($_POST[action] == "update"){
    $side = ($_POST[side]);
    $kortbeskrivelse = ($_POST[kortbeskrivelse]);
    $beskrivelse = ($_POST[beskrivelse]);
    $ratepoints = ($_POST[ratepoints]);
    $www = ($_POST[www]);
   
    $sql = "INSERT INTO database (side,kortbeskrivelse,beskrivelse,ratepoints,www) VALUES ('".$side."','".$kortbeskrivelse."','".$beskrivelse."','".$ratepoints."','".$www."')";
        mysql_query($sql) or die (mysql_error());
}
?>

<form action="" method=post>
<input type="hidden" name="action" value="update">
<FONT face=tahoma size=2>data fra databasen <br>
<br>Skriv til databasen:<br></FONT> 



<input type="text" name="side" onfocus="if(this.value=='side')this.value='';" onblur="if(this.value=='')this.value='side';" value="side" size="23" maxlength="100" style="width: 400" />
<br>
<input type="text" name="kortbeskrivelse" onfocus="if(this.value=='kortbeskrivelse')this.value='';" onblur="if(this.value=='')this.value='kortbeskrivelse';" value="kortbeskrivelse" size="23" maxlength="100" style="width: 400" />
<br>
<input type="text" name="beskrivelse" onfocus="if(this.value=='beskrivelse')this.value='';" onblur="if(this.value=='')this.value='beskrivelse';" value="beskrivelse" size="23" maxlength="100" style="width: 400" />
<br>
<input type="text" name="ratepoints" onfocus="if(this.value=='ratepoints')this.value='';" onblur="if(this.value=='')this.value='ratepoints';" value="ratepoints" size="23" maxlength="100" style="width: 400" />
<br>
<input type="text" name="www" onfocus="if(this.value=='www (uden http://)')this.value='';" onblur="if(this.value=='')this.value='www (uden http://)';" value="www (uden http://)" size="23" maxlength="60" style="width: 400" />
<br>
<input align="right" name="update" type="submit" value="Send" style="height: 20;width: 400" />

siden kommer frem nu. men får følgende fejl:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'database (side,kortbeskrivelse,beskrivelse,ratepoints,www) VALU
Avatar billede mcgoat Nybegynder
11. januar 2007 - 12:25 #17
$sql = "INSERT INTO database (side,kortbeskrivelse,beskrivelse,ratepoints,www) VALUES ('".$side."','".$kortbeskrivelse."','".$beskrivelse."',".$ratepoints.",'".$www."')";

prøv med det
Avatar billede nitram30 Nybegynder
11. januar 2007 - 16:45 #18
Hejsa!

Gav samme fejl.
Ser at du kun har fjernet en '?


<? include "config.php"; ?>

<?
if ($_POST[action] == "update"){
    $side = ($_POST[side]);
    $kortbeskrivelse = ($_POST[kortbeskrivelse]);
    $beskrivelse = ($_POST[beskrivelse]);
    $ratepoints = ($_POST[ratepoints]);
    $www = ($_POST[www]);
   
    $sql = "INSERT INTO database (side,kortbeskrivelse,beskrivelse,ratepoints,www) VALUES ('".$side."','".$kortbeskrivelse."','".$beskrivelse."',".$ratepoints.",'".$www."')";
        mysql_query($sql) or die (mysql_error());
}
?>

<form action="" method=post>
<input type="hidden" name="action" value="update">
<FONT face=tahoma size=2>data fra databasen <br>
<br>Skriv til databasen:<br></FONT> 



<input type="text" name="side" onfocus="if(this.value=='side')this.value='';" onblur="if(this.value=='')this.value='side';" value="side" size="23" maxlength="100" style="width: 400" />
<br>
<input type="text" name="kortbeskrivelse" onfocus="if(this.value=='kortbeskrivelse')this.value='';" onblur="if(this.value=='')this.value='kortbeskrivelse';" value="kortbeskrivelse" size="23" maxlength="100" style="width: 400" />
<br>
<input type="text" name="beskrivelse" onfocus="if(this.value=='beskrivelse')this.value='';" onblur="if(this.value=='')this.value='beskrivelse';" value="beskrivelse" size="23" maxlength="100" style="width: 400" />
<br>
<input type="text" name="ratepoints" onfocus="if(this.value=='ratepoints')this.value='';" onblur="if(this.value=='')this.value='ratepoints';" value="ratepoints" size="23" maxlength="100" style="width: 400" />
<br>
<input type="text" name="www" onfocus="if(this.value=='www (uden http://)')this.value='';" onblur="if(this.value=='')this.value='www (uden http://)';" value="www (uden http://)" size="23" maxlength="60" style="width: 400" />
<br>
<input align="right" name="update" type="submit" value="Send" style="height: 20;width: 400" />

</form>

</body>
</html>
Avatar billede nitram30 Nybegynder
11. januar 2007 - 16:48 #19
Ved heller ikke 100% om det er den bedste måde at bygge formularen op på. ser nemlig der er et hav af metoder? men som det fremgår er jeg meget "grøn" hvad angår php.
Avatar billede nitram30 Nybegynder
12. januar 2007 - 23:48 #20
Har hævet point til 200 da jeg akut har brug for hjælp til at blve færdig med mit lille projekt. Så håber det frister til en hurtig afslutning. ;-)
Avatar billede nitram30 Nybegynder
13. januar 2007 - 00:44 #21
Får stadig følgende fejl efter jeg har kortet koden ned til nedenstående for at udelukkke fejl.

<? include "config.php"; ?>

<?
if ($_POST[action] == "update"){
    $side = ($_POST[side]);
   
    $sql = "INSERT INTO database (side) VALUES ('".$side."')";
        mysql_query($sql) or die (mysql_error());
}
?>

<form action="" method=post>
<input type="hidden" name="action" value="update">

Skriv til databasen:<br>



<input type="text" name="side" onfocus="if(this.value=='side')this.value='';" onblur="if(this.value=='')this.value='side';" value="side" size="23" maxlength="100" style="width: 400" />

<br>
<input align="right" name="update" type="submit" value="Send" style="height: 20;width: 400" />

</form>

</body>
</html>
Avatar billede nitram30 Nybegynder
13. januar 2007 - 00:44 #22
fejl:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'database (side) VALUES ('ddd')' at line 1
Avatar billede nitram30 Nybegynder
13. januar 2007 - 20:00 #23
Fandt selv ud af hvad der var galt.
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
Computerworld tilbyder specialiserede kurser i database-management

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