Avatar billede find_p Nybegynder
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>
Avatar billede jakobdo Ekspert
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;
}
Avatar billede jakobdo Ekspert
17. august 2008 - 11:11 #2
Du blander rundt på:
$bruger_id = mysql_query
og:
$bruger_id=$row["bruger_id"];
Avatar billede find_p Nybegynder
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();

?>
Avatar billede jakobdo Ekspert
17. august 2008 - 11:45 #4
Den forstod jeg ikke.
Men det er vel fordi der er noget tid som ikke er angivet første gang.
Avatar billede find_p Nybegynder
17. august 2008 - 12:18 #5
Når jeg ativerer reg.php bliver bruger_id ikke indsat i tabellen online.
Aktiverer (åbner) jeg rep.php igen i et nyt vindue bliver bruger_id indsat i tabellen online.
Avatar billede jakobdo Ekspert
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...
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