Avatar billede t-hviid Nybegynder
23. februar 2005 - 21:23 Der er 30 kommentarer og
1 løsning

Vise brugers oprettede produkter

Jeg prøver at lave en oversigtsside hvor bruger der er logget ind kan se det produkter de har oprette. På siden står deres bruger oplysninger. I produkttabellen har jeg: produktnavn, antal. udljerID. I udlejer tabellen har jeg navn, email, ID. Jeg har prøvet med følgende: SELECT produkter.produkt, produkter.antal, produkter.katagori, produkter.udlejerID
FROM produkter
WHERE produkter.udlejerID = udlejer.Id

men det virker ikke efter hensigten. Er der nogle der kan hjælpe?
Avatar billede jakobdo Ekspert
23. februar 2005 - 22:14 #1
Du vil have produkter, så skulle jeg mene du kan bruge:

SELECT produktnavn FROM produkt WHERE udlejerID = $_SESSION['brugerid'];

Eller hvordan du nu gemmer SESSIONS...
Avatar billede t-hviid Nybegynder
24. februar 2005 - 10:26 #2
Jeg får følgende fejl: Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in e:\apache\apache\vhosts\props\doks\oversigt.php on line 17¨
Og i linje 17 står der:$query_produkter = "SELECT produkt FROM produkter WHERE udlejerID = $_SESSION['login']";
Avatar billede jakobdo Ekspert
24. februar 2005 - 10:59 #3
Prøv denne:

$query_produkter = mysql_query("SELECT produkt FROM produkter WHERE udlejerID = " . $_SESSION['login'] . " ORDER BY produkt");
Avatar billede t-hviid Nybegynder
24. februar 2005 - 11:34 #4
Jeg har lidt på fornemmelsen at det er min session der driller. Jeg bruger email til at logge ind på og henter ikke ID på noget tidspunkt. Den ser sådanne ud: session_start();

$colname_rsUserDetails = "1";
if (isset($_SESSION['login'])) {
  $colname_rsUserDetails = (get_magic_quotes_gpc()) ? $_SESSION['login'] : addslashes($_SESSION['login']);
}
mysql_select_db($database_test, $test);
$query_rsUserDetails = sprintf("SELECT * FROM udlejer WHERE email = '%s'", $colname_rsUserDetails);
$rsUserDetails = mysql_query($query_rsUserDetails, $test) or die(mysql_error());
$row_rsUserDetails = mysql_fetch_assoc($rsUserDetails);
$totalRows_rsUserDetails = mysql_num_rows($rsUserDetails);
Den er lavet gennem dreamweaver!
Avatar billede jakobdo Ekspert
24. februar 2005 - 11:37 #5
Snakker vi når brugeren logger ind eller hvad snakker vi her?
Avatar billede t-hviid Nybegynder
24. februar 2005 - 11:46 #6
Det er på oversigtssiden. Dette er fra login:
<?php
// Buzz inet PHPLS01 - Login & Set Session
// Enable Session Support for page
session_start();
?>
<?php require_once('../Connections/test.php'); ?>
<?php
// Buzz inet PHPLS01 - Login & Set Session - Recordset
$myUsername_rsLogin = "0";
if (isset($HTTP_POST_VARS['burgernavn'])) {
  $myUsername_rsLogin = (get_magic_quotes_gpc()) ? $HTTP_POST_VARS['burgernavn'] : addslashes($HTTP_POST_VARS['burgernavn']);
}
$myPassword_rsLogin = "0";
if (isset($HTTP_POST_VARS['password'])) {
  $myPassword_rsLogin = (get_magic_quotes_gpc()) ? $HTTP_POST_VARS['password'] : addslashes($HTTP_POST_VARS['password']);
}
mysql_select_db($database_test, $test);
// Verify Login is correct
$query_rsLogin = sprintf("SELECT email, password FROM udlejer WHERE email = '%s' AND password = '%s'", $myUsername_rsLogin,$myPassword_rsLogin);
$rsLogin = mysql_query($query_rsLogin, $test) or die(mysql_error());
$row_rsLogin = mysql_fetch_assoc($rsLogin);
$totalRows_rsLogin = mysql_num_rows($rsLogin);

$colname_rsUserDetails = "1";
if (isset($_SESSION['login'])) {
  $colname_rsUserDetails = (get_magic_quotes_gpc()) ? $_SESSION['login'] : addslashes($_SESSION['login']);
}
mysql_select_db($database_test, $test);
$query_rsUserDetails = sprintf("SELECT * FROM udlejer WHERE Firmanavn = '%s'", $colname_rsUserDetails);
$rsUserDetails = mysql_query($query_rsUserDetails, $test) or die(mysql_error());
$row_rsUserDetails = mysql_fetch_assoc($rsUserDetails);
$totalRows_rsUserDetails = mysql_num_rows($rsUserDetails);

// Buzz inet PHPLS01 - Login & Set Session - Main
if($HTTP_POST_VARS['action']=="login"){
    if($totalRows_rsLogin==0){
        $errorMessage = "Login lykkedes desværre ikke!";
        mysql_free_result($rsLogin);
    } else {
        mysql_free_result($rsLogin);
        session_register("login");
        $HTTP_SESSION_VARS['login'] = $HTTP_POST_VARS['burgernavn'];
        header("Location: /doks/oversigt.php");
    }
}
?>
Avatar billede jakobdo Ekspert
24. februar 2005 - 12:26 #7
Du burde evt "bare" kunne bruge denne SQL:

$query_produkter = mysql_query("SELECT produkt.produktnavn FROM produkt,udlejer WHERE produkt.udlejerID = udlejer.id AND udlejer.email LIKE '" . $_SESSION['login'] . "' ORDER BY produkt");
Avatar billede t-hviid Nybegynder
24. februar 2005 - 12:43 #8
Nej jeg får stadig fejl
Avatar billede jakobdo Ekspert
24. februar 2005 - 12:45 #9
Hvilken fejl?
Avatar billede t-hviid Nybegynder
24. februar 2005 - 12:45 #10
Jeg havde ikke lige fået ændret produkt til produkter ;-) Nå men nu siger den Query was empty
Avatar billede jakobdo Ekspert
24. februar 2005 - 13:15 #11
Og du er sikker på den bruger du tester med, har den email du tester?
Lejer har produkter?
Avatar billede t-hviid Nybegynder
24. februar 2005 - 13:23 #12
Ja til begge.
Avatar billede jakobdo Ekspert
24. februar 2005 - 13:46 #13
Hvad hvis du laver følgende SQL i phpmyadmin:

SELECT produkt.produktnavn FROM produkt,udlejer WHERE produkt.udlejerID = udlejer.id AND udlejer.email LIKE 'DIN EMAIL' ORDER BY produktnavn

PS: Ret lige ORDER BY produkt til: ORDER BY produktnavn
Avatar billede t-hviid Nybegynder
24. februar 2005 - 13:53 #14
Så får jeg de 3 test produkter der er oprettet!
Avatar billede jakobdo Ekspert
24. februar 2005 - 14:27 #15
Så er det vel lukke tid?
Avatar billede t-hviid Nybegynder
24. februar 2005 - 15:47 #16
Øhhhhh
Avatar billede jakobdo Ekspert
24. februar 2005 - 15:49 #17
Svar
Avatar billede t-hviid Nybegynder
24. februar 2005 - 16:08 #18
Jeg kan stadig ikke få det til at virke i mit php-dokument!
Avatar billede jakobdo Ekspert
24. februar 2005 - 16:10 #19
Altså du har fået SQL'en til at virke...
Så er der jo bare at løbe den igennem som du plejer med en query fra MYSQL, og vise det resultat!
Avatar billede t-hviid Nybegynder
24. februar 2005 - 16:18 #20
Som jeg forstod den sidste så skulle jeg indsætte den email jeg tester med istedet for DIN EMAIL. Men når jeg vil kører det med session melder den Query was empty
Avatar billede jakobdo Ekspert
24. februar 2005 - 16:21 #21
Er du sikker på der er noget i $_SESSION['login'] ??
Prøv at skriv den ud inden du bruger den...
Avatar billede t-hviid Nybegynder
24. februar 2005 - 16:23 #22
Ok, hvordan gør jeg det. Jeg er total nybegynder - som du sikkert har regnet ud :-)
Avatar billede jakobdo Ekspert
24. februar 2005 - 16:27 #23
Du kan bruge: echo "Login indeholder: <b>" . $_SESSION['login'] . "</b><br>";
Avatar billede t-hviid Nybegynder
24. februar 2005 - 16:29 #24
Ok, det prøver jeg. Jeg vender først tilbage i aften efter 22.00  - er på arbejde lige nu.
Avatar billede jakobdo Ekspert
24. februar 2005 - 17:01 #25
Det er jeg også! :)
Men er snart på vej hjem!
Avatar billede t-hviid Nybegynder
25. februar 2005 - 09:29 #26
Eksperten var åbenbart nede i går aftes. Men når jeg tester indholdet af sessionen fra får jeg email adressen!
Avatar billede jakobdo Ekspert
25. februar 2005 - 09:54 #27
Virker mærkeligt!
For hvis din SQL virker, din session login indeholder korrekt email, så må det være din kode som fejler!
Avatar billede t-hviid Nybegynder
25. februar 2005 - 21:08 #28
Jeg må arbejde videre med den og se om jeg kan finde fejlen. Nu ved jeg hvordan jeg skal lave det. Tak for hjælpen. Det kan være jeg poster et ? mere senere hvis jeg ikke kan få det løst ;-)
Avatar billede jakobdo Ekspert
27. februar 2005 - 00:51 #29
Den er fin! :o)
Avatar billede t-hviid Nybegynder
27. februar 2005 - 20:11 #30
Jeg har fået det til at virke. Jeg ved ikke helt hvad der var galt, men jeg tog og starede helt forfra :-)
Avatar billede jakobdo Ekspert
27. februar 2005 - 20:12 #31
Ok! Jeg mente også det skulle virke!
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