Avatar billede udvikler Nybegynder
21. november 2005 - 17:54 Der er 24 kommentarer og
1 løsning

Hjælp til at fuldføre sætning

Hejsa mennesker :)

Jeg vil gerne lave en funktion ligsom her på eksperten. Jeg snakker om den hvor du bare kan klikke på et link også kommer alle spørgsmål oprettet af den person. Jeg har et forum hvor brugernavnet som oprettede spørgsmålet også er i. Så det er ikke så svært:

hjælp mig med at fuldende denne sætning

mysql_query("SELECT * FROM forum oprettet af brugernavn") or die(mysql_error());

ja simpelt hen skal den kun udskrive alle de der brugernavne oprettet af en bestemt person.
Avatar billede jaw Nybegynder
21. november 2005 - 17:57 #1
Det kommer jo lidt an på hvad din variabel er og hvor den kommer fra, men principielt:

mysql_query("SELECT * FROM forum WHERE bruger = '".$_GET['brugernavn']."' ORDER BY dato DESC") or die(mysql_error());
Avatar billede udvikler Nybegynder
21. november 2005 - 18:00 #2
Ja, brugernavnet kommer desværre ikke fra adresselinien så GET kan ikke bruges, sorry burde jeg have sagt, det kommer heller ikke fra POST men id'et fra brugeren er oppe i adresselinien hvis det kan bruges ?
- desværre er id'et på brugeren i en anden tabel :)
Avatar billede jaw Nybegynder
21. november 2005 - 18:02 #3
Det forstår jeg ikke. Hvis det er et id fra adresselinien du vil bruge, så er det jo bare $_GET['variabelnavn']. Men knytter du ikke din forumbeskeder til brugerens id? Hvis ikke, hvad så hvis han skifter sit navn?
Avatar billede udvikler Nybegynder
21. november 2005 - 18:04 #4
Jamen, man kan heller ikke skifte navn, det har jeg sørget for. :)
  Synes også det er en dum idé at kunne skifte navn i et forum,
men ja ved du hvordan jeg så kan gøre ? :)
Avatar billede udvikler Nybegynder
21. november 2005 - 18:06 #5
Min tabel ser således ud:

Overskrift, besked, id, dato, forfatter

så vil jeg så have alle overskrifter udskrevet oprettet en den forfatter's profil man kiggede på :)
Avatar billede udvikler Nybegynder
21. november 2005 - 18:10 #6
en = af :)
Avatar billede jaw Nybegynder
21. november 2005 - 18:10 #7
Jeg vil så mene, at det er en betydeligt dårligere ide at registrere indlæg med forfatterens brugernavn end hans id, end det er at kunne skifte navn, men pyt så med det :)

Så vil det vel være noget lignende:
mysql_query("
SELECT forum.*, brugertabel.brugernavn FROM forum
LEFT JOIN brugertabel ON forum.forfatter = brugertabel.brugernavn
WHERE brugertabel.id = ".$_GET['id']."
ORDER BY forum.dato DESC
");
Avatar billede udvikler Nybegynder
21. november 2005 - 18:19 #8
Dette er min fil: oprette_spoergsmal.php

<?
include "mysql.php";

mysql_query("
SELECT forum.*, brugere.brugernavn FROM forum
LEFT JOIN brugere ON forum.forfatter = brugere.brugernavn
WHERE brugere.id = ".$_GET['id']."
ORDER BY forum.dato DESC
");
?>

det virker ikke, siden er bare tom, men det rigtige brugerid er da i det mindste i adresselinien :)
Avatar billede udvikler Nybegynder
21. november 2005 - 18:22 #9
Har lige sat en mysql_error på, jeg fik ingen fejl, siden forblev bare tom :)
Avatar billede jaw Nybegynder
21. november 2005 - 18:54 #10
Det er jo klart, når du ikke prøver at udskrive noget.

while($row = mysql_fetch_assoc($q)) {
  echo $row['feltnavn']."<br />";
}
Avatar billede udvikler Nybegynder
21. november 2005 - 18:59 #11
For denne fejl:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource on line 10

Og mit dokument ser således ud:

<?
include "mysql.php";

$query = mysql_query("
SELECT forum.*, brugere.brugernavn FROM forum
LEFT JOIN brugere ON forum.forfatter = brugere.brugernavn
WHERE brugere.id = ".$_GET['id']."
ORDER BY forum.dato DESC
");
while($row = mysql_fetch_assoc($q)) {
if (mysql_num_rows($query) == 0) {
  echo "Brugeren har desværre ikke oprettet nogle indlæg!";
exit;
}else {
  echo $row['overskrift']."<br />";
}
}
?>
Avatar billede udvikler Nybegynder
21. november 2005 - 19:01 #12
----har jeg lige rettet---------

nu er fejlen:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource on line 11

og dokumentet er:

<?
include "mysql.php";

$q = mysql_query("
SELECT forum.*, brugere.brugernavn FROM forum
LEFT JOIN brugere ON forum.forfatter = brugere.brugernavn
WHERE brugere.id = ".$_GET['id']."
ORDER BY forum.dato DESC
");
while($row = mysql_fetch_assoc($q)) {
if (mysql_num_rows($query) == 0) {
  echo "Brugeren har desværre ikke oprettet nogle indlæg!";
exit;
}else {
  echo $row['overskrift']."<br />";
}
}
?>
Avatar billede jaw Nybegynder
21. november 2005 - 19:01 #13
$q -> $query
Avatar billede jaw Nybegynder
21. november 2005 - 19:05 #14
Prøv lige at fjerne din mysql_num_rows-felt. Den kalder du jo stadig $query.
Avatar billede udvikler Nybegynder
21. november 2005 - 19:09 #15
DET VIRKER - som sædvaneligt (med dig) ;)

Men kan man ikke tilføje den der funktion jeg lavede ligefør ?
Den hvor den skriver at brugeren ikke har skrevet noget om sig selv, istedet for at siden bare er tom ? :)
Avatar billede jaw Nybegynder
21. november 2005 - 19:13 #16
Godt :)

Tjoh, jeg ville så gøre:
if(mysql_num_rows($q) == 0) {
  echo "Ingen indlæg.";
} else {
  while($row .....) {

  }
}
Avatar billede udvikler Nybegynder
21. november 2005 - 19:19 #17
Perfekt og smart, hold kæft hvor du sej :)

hvis jeg sætter lidt ekstre point til kan du så gøre sådan så de resultater den finder.. altså overskrifterne.. bliver gjort til links ?
præcis som her på eksperten ?

altså nu udskriver den resultaterne som tekst, men kan du gøre sådan så det bliver til links til selve spørgsmålet ? :)

- og skriv lige hvor mange point du mere vil have for det :)
Avatar billede jaw Nybegynder
21. november 2005 - 19:26 #18
Det er nu ikke så meget point-antallet :)

echo "<a href='forum.php?id=".$row['id']."'>".$row['overskrift']."</a><br />";

:)
Avatar billede udvikler Nybegynder
21. november 2005 - 19:35 #19
Godt at høre at der nogle her for KUN at hjælpe ;)

Hmm, id'et står tomt id'et hentes forresten fra forum, så burde det ikke virke ?
Avatar billede jaw Nybegynder
21. november 2005 - 19:54 #20
Tjoh, det burde det nu. Sikker på det hedder id og ikke f.eks. ID?
Avatar billede udvikler Nybegynder
21. november 2005 - 19:59 #21
Tak, det virker, svar tak :)

acceptere det så snart jeg kan.. laver også en tråd til dig med ekstra 30 point, for jeg synes du fortjener dem, gæt hvorfor ? :)
Avatar billede jaw Nybegynder
21. november 2005 - 20:37 #22
Selv tak :D Og hvis det endelig er, så kan du jo også ændre point-mængden på samme spørgsmål, hvis det er det du vil? :)
Avatar billede jaw Nybegynder
21. november 2005 - 20:37 #23
Ja, og svar !
Avatar billede udvikler Nybegynder
21. november 2005 - 21:34 #24
Har forhøjet til 30 hvis det er okay jaw ?
Takker virkelig mange gange for den hjælp du gav mig ;)
Avatar billede jaw Nybegynder
21. november 2005 - 22:06 #25
Det er helt ok - og også tak herfra :)
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