08. april 2004 - 21:50
Der er
20 kommentarer og 1 løsning
Redigere post i database
Hey Jeg er ved at lave et script, der genkender ens ip og derved bestemmer hvilket sprog siden skal vises i. Problemet er nu, hver gang man klikker på linket, der angiver sproget oprettes der en ny post. Jeg vil gerne have at, hvis ip'en allerede findes i databasen, skal den gå til den post der svare til ip'en og overskrive sproget. Hvis IPen ikke findes, skal personen bare oprettes i databasen. Herunder ses min kode, kan ikke komme videre. if($sprog) { $ip = $_SERVER['REMOTE_ADDR']; if(ip findes i database) { gå til post der svare til ip, erstat eksisterende værdi under sprog til $sprog. } else { mysql_query("insert into sprog (sprog,ip) values ('$sprog','$ip')"); } }
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
08. april 2004 - 21:52
#1
$query = "UPDATE tabelnavn set sprog = '" . $sprog . "' WHERE ip = '127.0.0.1'";
08. april 2004 - 21:56
#2
hmm er lidt nybegynder til php. hvordan kan jeg nu bruge min if/else sætning?
08. april 2004 - 21:58
#3
glemte jeg lige $query = "SELECT * from sprog WHERE ip = '" . $ip . "'"; $result = mysql_query( $query ); $data = mysql_fetch_array( $result ); if( mysql_affected_rows() > 0 ) updateforspøgslen else det du har lavet
08. april 2004 - 22:16
#4
virker ikke :( Den opretter stadig bare en ny post for hver gang man klikker på sproget. Efter jeg har sat tjeksætningerne echo ind under if/else ser jeg den kommer til else. Men kan da lige vise hele min kode. <html> <head> </head> <body> <? $db=mysql_connect('localhost','der','der'); mysql_select_db('bjerrumsoft',$db); $query = "SELECT * from sprog WHERE ip = '" . $ip . "'"; $result = mysql_query( $query ); $data = mysql_fetch_array( $result ); if($sprog) { $ip = $_SERVER['REMOTE_ADDR']; if( mysql_affected_rows() > 0 ) { echo "if"; $query = "UPDATE sprog set sprog = '" . $sprog . "' WHERE ip = '$ip'"; } else { echo "else"; mysql_query("insert into sprog (sprog,ip) values ('$sprog','$ip')"); } } ?> <center> <table border='1' width='200'> <tr> <td colspan='2'> </td> </tr> <tr> <td> <a href='sprog.php?sprog=dansk'>Dansk</a> </td> <td> <a href='sprog.php?sprog=engelsk'>English</a> </td> </tr> </table> </center> </body> </html>
08. april 2004 - 22:19
#5
mysql_num_rows istedet for mysql_affected_rows
08. april 2004 - 22:23
#6
Det var den ikke glad for :( Warning: Wrong parameter count for mysql_num_rows() in /web/www/frac/users/bjerrumsoft/tests/sprog.php on line 18 else
08. april 2004 - 22:25
#7
ah, du skal give $result med som paramter
08. april 2004 - 22:27
#8
som sagt er jeg helt ny til php, så hvor skal jeg angive denne parameter? <? $db=mysql_connect('localhost','bjerrumsoft','snudebillen'); mysql_select_db('bjerrumsoft',$db); $query = "SELECT * from sprog WHERE ip = '" . $ip . "'"; $result = mysql_query( $query ); $data = mysql_fetch_array( $result ); if($sprog) { $ip = $_SERVER['REMOTE_ADDR']; if( mysql_num_rows() > 0 ) { echo "if"; $query = "UPDATE sprog set sprog = '" . $sprog . "' WHERE ip = '$ip'"; } else { echo "else"; mysql_query("insert into sprog (sprog,ip) values ('$sprog','$ip')"); } }
08. april 2004 - 22:30
#9
mysql_num_rows( $result )... sådan
08. april 2004 - 22:35
#10
Jeg er ked af at sige det, men virker stadig ikke efter hensigten, der bliver stadig bare oprettet en ny post for hver gang linket bliver trykket :( <? $db=mysql_connect('localhost','bjerrumsoft','snabelsnude'); mysql_select_db('bjerrumsoft',$db); $query = "SELECT * from sprog WHERE ip = '" . $ip . "'"; $result = mysql_query( $query ); $data = mysql_fetch_array( $result ); if($sprog) { $ip = $_SERVER['REMOTE_ADDR']; if( mysql_num_rows( $result ) > 0 ) { echo "if"; $query = "UPDATE sprog set sprog = '" . $sprog . "' WHERE ip = '$ip'"; } else { echo "else"; mysql_query("insert into sprog (sprog,ip) values ('$sprog','$ip')"); }
08. april 2004 - 22:36
#11
men kan se via sætningen echo "else";, at den går direkte ned og udskriver else.
08. april 2004 - 22:36
#12
er lige med på et lytter :)
08. april 2004 - 22:45
#13
måske den første select ikke er korrekt...
08. april 2004 - 22:47
#14
hehe ja men hvad gør man så :)
08. april 2004 - 22:50
#15
du har vel erstattet 127.0.0.1 med det rigtige
08. april 2004 - 22:52
#16
tjaa det har jeg vel, har erstattet med følgende WHERE ip = '127.0.0.1' med WHERE ip = '$ip' som fremgår her $query = "UPDATE sprog set sprog = '" . $sprog . "' WHERE ip = '$ip'";
08. april 2004 - 22:55
#17
det skulle da gerne fremgå i select og ikke i update query
08. april 2004 - 22:56
#18
doooh... jeg er træt
08. april 2004 - 22:57
#19
men mit bu der der må været noget galt med select forespørgslen... jeg vil foreslå du prøver at køre den i phpmyadmin eller lignende.
09. april 2004 - 01:09
#20
Har selv fået banket en kode sammen, der virker :D <html> <head> </head> <body> <? $db=mysql_connect('localhost','bjerrumsoft','snabelkat'); mysql_select_db('bjerrumsoft',$db); if($sprog) { $ip = $_SERVER['REMOTE_ADDR']; $query = mysql_query("select ip from sprog where ip='$ip'"); $antal = mysql_num_rows($query); if($antal == 1) { mysql_query("update sprog set sprog = '$sprog' where ip='$ip'"); } else { mysql_query("insert into sprog (sprog,ip) values ('$sprog','$ip')"); } } ?> <center> <table border='1' width='200'> <tr> <td colspan='2'> </td> </tr> <tr> <td> <a href='sprog.php?sprog=dansk'>Dansk</a> </td> <td> <a href='sprog.php?sprog=engelsk'>English</a> </td> </tr> </table> </center> </body> </html>
Vi tilbyder markedets bedste kurser inden for webudvikling