17. august 2008 - 10:52
Der er
5 kommentarer og
1 løsning
Insert værdi fra en tabel til anden tabel
Jeg ønsker at indsætte bruger_id fra tabellen brugere i tabellen online.
Jeg får retuneret / indsat: Resource id #3 istedet for bruger_id (navn)
Koden ser således ud:
<snip>
$bruger_id = mysql_query("SELECT * FROM online, brugere WHERE online.ip = brugere.ip");
while($row = mysql_fetch_array($bruger_id))
{
$bruger_id=$row["bruger_id"];
}
<snip>
17. august 2008 - 11:11
#1
Prøv:
$data = mysql_query("SELECT * FROM online, brugere WHERE online.ip = brugere.ip");
while($row = mysql_fetch_array($data))
{
$bruger_id=$row["bruger_id"];
echo $bruger_id;
}
17. august 2008 - 11:40
#3
Tak - virker !
Nyt problem
Når reg.php åbnes første gang ( ingen data i tabellen online ) bliver bruger_id ikke fundet / indsat i tabellen online.
Åbner jeg reg.php i et nyt vindue ( data i tabellen online minus bruger_id ) bliver bruger_id fundet / indsat i tabellen online.
reg. php:
<?php
include 'config.php';
$db = mysql_connect($mysql['host'],$mysql['user'],$mysql['password']);
mysql_select_db($mysql['db'], $db);
if ( $_SERVER['REQUEST_METHOD'] != 'POST' )
session_start();
mysql_query("DELETE FROM online WHERE date_add(time,interval 5 MINUTE) < NOW()");
$ip = $_SERVER['REMOTE_ADDR'];
$url = $_SERVER['REQUEST_URI'];
if (!isset($_SESSION['online'])) {
$unique_numb = substr(str_shuffle('0123456789'),0,6);
$_SESSION['online'] = $unique_numb;
}
$data = mysql_query("SELECT * FROM online, brugere WHERE online.ip = brugere.ip");
while($row = mysql_fetch_array($data))
{
$bruger_id=$row["bruger_id"];
echo $bruger_id;
}
$online = mysql_query("SELECT COUNT(*) AS total FROM online WHERE ip='".$ip."' AND unique_numb = '".$_SESSION['online']."'");
if (!mysql_result($online,0)) {
mysql_query("INSERT INTO online (first_time,time,ip,url,bruger_id,unique_numb) VALUES (NOW(),NOW(),'".$ip."', '".$url."', '".$bruger_id."','".$_SESSION['online']."')");
} else {
mysql_query("UPDATE online SET time=NOW(), url='".$url."' WHERE ip='".$ip."' AND unique_numb = '".$_SESSION['online']."'");
}
mysql_close();
?>
17. august 2008 - 15:00
#6
Er det ikke fordi:
mysql_query("DELETE FROM online WHERE date_add(time,interval 5 MINUTE) < NOW()");
Der sletter du gamle entries...