Avatar billede coldassworld Nybegynder
18. januar 2001 - 19:57 Der er 14 kommentarer og
1 løsning

Database problemer

Jeg er nybegynder og har prøvet at lave et lille simpelt script, meningen er at jeg kun vil have at ens data ikke kan addeds til databasen, ligesom samme tlf nummer, og hvordan viser jeg den data der i databasen? Jeg synes ikke det virker rigtigt det jeg har skrevet :/

Scriptet ser således ud:

<html>
<body>

<form action=\"test.php\" method=\"post\">
<font size=\"1\" face=\"verdana\">
Navn:        <input type=\"text\" name=\"navn\"><br>
Alder:        <input type=\"text\" name=\"alder\"><br>
Tlf:        <input type=\"text\" name=\"tlf\"><br>
<input type=\"submit\" value=\"Send\">
</form>


<?php
mysql_connect(\"localhost\", \"root\", \"\") or die(\"Couldnt connect to mysql server!\");
mysql_select_db(\"bekendte\") or die(\"Couldnt find db\");

$check = mysql_fetch_array(mysql_query(\"SELECT navn, tlf FROM ting\"));
if($check[navn] == $navn OR $check[tlf] == $tlf) {
  print \"Navnet eller Telefon nummert findes allerede i databasen!\";
} else {

$added = mysql_query (\"insert into ting(navn, alder, tlf)
values (\'$navn\', \'$alder\', \'$tlf\')\");

if ($added) {
print \"data added\";
} else {
print \"data ikke added\";
}

}

print \"<BR><BR>\";
$data = mysql_fetch_array(mysql_query(\"SELECT * FROM ting\"));
print \"$data\";

?>


</body>
</html>
Avatar billede sorenmh Nybegynder
18. januar 2001 - 20:01 #1
udskift det her:
$added = mysql_query (\"insert into ting(navn, alder, tlf)
values (\'$navn\', \'$alder\', \'$tlf\')\");

med det her:
$added = mysql_query (\"insert into ting(navn, alder, tlf)\" . \"values(\'$navn\', \'$alder\', \'$tlf\')\");
Avatar billede coldassworld Nybegynder
18. januar 2001 - 20:13 #2
Hvad gør forskellen egentligt ?

Hvordan for jeg  data vist frem på siden ???
Avatar billede htx98i17 Professor
18. januar 2001 - 20:24 #3
print\"$navn, $alder, $tlf);
Avatar billede htx98i17 Professor
18. januar 2001 - 20:24 #4
ups jeg lavede en fejl
koden skal se således ud:

print\"$navn, $alder, $tlf\";
Avatar billede coldassworld Nybegynder
18. januar 2001 - 20:28 #5
Skal der ikke lige en kommando til - en forespørgsel til at trække dataerne ud a databasen ?
Avatar billede htx98i17 Professor
18. januar 2001 - 20:31 #6
jo hvis du skal trækker noget ud fra databasen!

$res = mysql_query(\"SELECT * FROM ting\");

while($spyt = mysql_fetch_array($res)) {
Print\"$navn, $alder, $tlf\";
}
Avatar billede jd Nybegynder
18. januar 2001 - 21:40 #7
htx...-> Syns lissom du mangler noget :)
Enten mås du lige køre $spyt gennem extract() eller og må print-linien være

print \"$spyt[navn], $spyt[alder], $spyt[tlf]\"; !?
Avatar billede halnet Nybegynder
18. januar 2001 - 21:44 #8
-> sorenmh
Hvad er ideen med at sætte \" . \" ind i INSERT-sætningen??

- Anders
Avatar billede htx98i17 Professor
18. januar 2001 - 21:46 #9
jd -> ja det skal jeg da lige love for at jeg gør
LOL,

sorry, jeg er ret træt idag :o)
Avatar billede jd Nybegynder
19. januar 2001 - 11:47 #10
hehe...
Avatar billede coldassworld Nybegynder
19. januar 2001 - 13:02 #11
hm nu er jeg lidt forvirret, hvad er det rigtige ?
Jeg ville ogsp meget gerne have at man ikke kan submitte den samme data til databasen...
fx hvis tlf nummer 11111111 eller samme navn allerede findes så kan adde det, hvordan gør man det ?
scriptet ser således ud nu:

<html>
<body>

<form action=\"test.php\" method=\"post\">
<font size=\"1\" face=\"verdana\">
Navn:        <input type=\"text\" name=\"navn\"><br>
Alder:        <input type=\"text\" name=\"alder\"><br>
Tlf:        <input type=\"text\" name=\"tlf\"><br>
<input type=\"submit\" value=\"Send\">
</form>


<?php
mysql_connect(\"localhost\", \"root\", \"\") or die(\"Couldnt connect to mysql server!\");
mysql_select_db(\"bekendte\") or die(\"Couldnt find db\");

$check = mysql_fetch_array(mysql_query(\"SELECT navn, tlf FROM ting\"));
if($check[navn] == $navn OR $check[tlf] == $tlf) {
  print \"Navnet eller Telefon nummert findes allerede i databasen!\";
} else {

$added = mysql_query (\"insert into ting(navn, alder, tlf)\" .
\"values(\'$navn\', \'$alder\', \'$tlf\')\");

if ($added) {
print \"data added\";
} else {
print \"data ikke added\";
}

}

print \"<BR><BR>\";

//Udtræk fra databasen

$res = mysql_query(\"SELECT * FROM ting\");

while($spyt = mysql_fetch_array($res)) {
Print\"
<table border=\\\"1\\\" bordercolor=\\\"black\\\" cellspacing=\\\"0\\\" cellpadding=\\\"0\\\"
bordercolorlight=\\\"black\\\" bordercolordark=\\\"white\\\">
<tr align=\\\"center\\\">
<td bgcolor=\\\"lightblue\\\"><font size=\\\"-2\\\" face=\\\"verdana\\\"><b>Navn</b></font></td>
<td bgcolor=\\\"lightblue\\\"><font size=\\\"-2\\\" face=\\\"verdana\\\"><b>Alder</b></font></td>
<td bgcolor=\\\"lightblue\\\"><font size=\\\"-2\\\" face=\\\"verdana\\\"><b>Tlf</b></font></td>
</tr>
<tr align=\\\"center\\\">
<td bgcolor=\\\"gray\\\"><font size=\\\"-2\\\" face=\\\"verdana\\\">$navn</font></td>
<td bgcolor=\\\"gray\\\"><font size=\\\"-2\\\" face=\\\"verdana\\\">$alder</font></td>
<td bgcolor=\\\"gray\\\"><font size=\\\"-2\\\" face=\\\"verdana\\\">$tlf</font></td>
</tr>
</table>
\";
}

?>


</body>
</html>
Avatar billede coldassworld Nybegynder
19. januar 2001 - 13:04 #12
dooh lille fejl..
fx hvis tlf nummer 11111111 eller samme navn allerede findes så kan adde det

DET SKULLR HEDDE
fx hvis tlf nummer 11111111 eller samme navn allerede findes så kan man ikke adde det! :)

Jeg ville også lige høre en ting mere, hvis min table ser sådan ud:
Field Type Attributes Null Default Extra
id  int(32)  UNSIGNED  No    auto_increment 
navn  varchar(100)    No     
alder  varchar(100)    No     
tlf  varchar(8)    No     

Keyname Unique Field
PRIMARY Yes id

hvordan får jeg så id nummert med i min table (ovenstående) ?
Avatar billede jd Nybegynder
19. januar 2001 - 13:12 #13
for at tjekke om 1111111 allerede findes, bliver du nødt til at sende et query afsted...

select id from tabel where nr=\'11111111\'

Og derefter tjekke med mysql_num_rows() om der blev fundet noget...
Avatar billede coldassworld Nybegynder
19. januar 2001 - 15:52 #14
ehm det ikke muligt for dig at sætte det ind i scriptet, ellers finder jeg aldrig ud af det :/
Jeg skoder en hel del til php
Avatar billede jd Nybegynder
21. januar 2001 - 14:21 #15
Hvor er det henne i scriptet du vil tjekke ?
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