Avatar billede dex_dexter Nybegynder
25. februar 2003 - 11:37 Der er 29 kommentarer og
2 løsninger

simpel funktion

jeg har følgende jeg skal have smidt i en funktion så jeg kan udlæse id & answer fra den og bruge den senere i scriptet
$result = mysql_query("SELECT id,answer FROM test1")or die (mysql_error());
while($row = mysql_fetch_array($result)) {
echo $row[id];
echo $row[answer];
}

hvordan faen gøres det, jeg har kigget mig totalt blind på det.
/dex2k
Avatar billede exp Juniormester
25. februar 2003 - 11:44 #1
$id = $row['id'];
$answer = $row['answer'];

echo $id;
echo $answer;
Avatar billede Slettet bruger
25. februar 2003 - 11:44 #2
function hent () {

$result = mysql_query("SELECT id,answer FROM test1")or die (mysql_error());
while($row = mysql_fetch_array($result)) {
return $row[id];
return $row[answer];
}

}

Kald den f.eks. sådan her:

hent();

echo $row[id];

Husk at hvis din tabel ikke bliver til et array skal du hellere bruge mysql_fetch_row
Avatar billede dex_dexter Nybegynder
25. februar 2003 - 11:49 #3
ehm, jeg får en undefinded variable med id når jeg prøver at echoe den
Avatar billede exp Juniormester
25. februar 2003 - 11:52 #4
i hvilket ex?

Dit, mit eller el_barto's?
Avatar billede dex_dexter Nybegynder
25. februar 2003 - 12:31 #5
exp, jeg ved ikke helt hvad du mener med de variabler, men prøv at lav en hel funktion så kan jeg kigge på det.
el bartos giver en undefined variable med id
Avatar billede dex_dexter Nybegynder
25. februar 2003 - 12:49 #6
function hent (){

$result = mysql_query("SELECT id,answer FROM test1")or die (mysql_error());
while($row = mysql_fetch_array($result)) {
return $row['id'];
return $row['answer'];
}

}
hent();
echo $row['id'];
Avatar billede dex_dexter Nybegynder
25. februar 2003 - 12:49 #7
damn, skide send knap ;)
skulle ikke havde sendt det endnu
Avatar billede dex_dexter Nybegynder
25. februar 2003 - 12:51 #8
men det script giver
Notice: Undefined variable: row in C:\Program Files\Apache Group\Apache2\htdocs\test\temp.php on line 26
Avatar billede exp Juniormester
25. februar 2003 - 13:05 #9
function hent($id) {
  if ($id = '') {
    echo "ingen post valgt";
  } else
    $result = mysql_query("SELECT answer FROM test1 WHERE id = '$id'")or die (mysql_error());
    while($row = mysql_fetch_row($result)) {
      $id = $row['id'];
      $answer = $row['answer'];
      echo $id;
      echo $answer;
    }
  }
}

hent();

Ved ikke om det virker - bare en idé jeg fik :o)
Avatar billede dex_dexter Nybegynder
25. februar 2003 - 13:08 #10
ehh... hvad skal jeg bruge det til?
jeg skal bare have det jeg skrev i spørgsmålet ind i en funktion , og så skal jeg kunne bruge variablerne uden for funktionen
Avatar billede exp Juniormester
25. februar 2003 - 13:14 #11
$result = mysql_query("SELECT id,answer FROM test1")or die (mysql_error());
while($row = mysql_fetch_array($result)) {
echo $row['id'];
echo $row['answer'];
}
Avatar billede exp Juniormester
25. februar 2003 - 13:15 #12
Ellers forstår jeg altså ikke helt hvad du vil have...
Avatar billede dex_dexter Nybegynder
25. februar 2003 - 13:19 #13
okay, prøver igen.
jeg skal have lavet en funktion der hiver id & answer ud af en database, i dette tilfælde test1, men vil lave det så det er en variable man smider når man bruger funktionen, og så skal jeg kunne bruge $row['id'] & $row['answer'] senere i scriptet
det er hvad jeg skal have lavet
Avatar billede exp Juniormester
25. februar 2003 - 13:22 #14
Skal den vælge alle id + answer eller et specifikt?
Avatar billede dex_dexter Nybegynder
25. februar 2003 - 13:33 #15
alle id, det skal være et array jeg sammenligner med et session array
Avatar billede exp Juniormester
25. februar 2003 - 13:40 #16
Det bliver du nødt til at gøre inde i din while-løkke...
Avatar billede dex_dexter Nybegynder
25. februar 2003 - 13:42 #17
jeg kan jo føje de entrys den hiver ud til et array som jeg bruger senere, det har jeg gjort andre steder i mine andre scripts så det kan jo lade sig gøre
Avatar billede dex_dexter Nybegynder
25. februar 2003 - 13:59 #18
hvis du forstår hvad jeg mener
Avatar billede exp Juniormester
25. februar 2003 - 14:00 #19
nårh... okay...

$arr = ''

$result = mysql_query("SELECT id,answer FROM test1")or die (mysql_error());
while($row = mysql_fetch_array($result)) {

  /* Her tilføjes kode til at tilføje resultatet i dit array */
  /* Læs mere her http://www.eksperten.dk/spm/161919 */

}
Avatar billede dex_dexter Nybegynder
25. februar 2003 - 14:05 #20
ehm, og hvor kommer det med funktionen så ind i billedet? du har jo blot gentaget det jeg skrev til at starte med
Avatar billede exp Juniormester
25. februar 2003 - 14:09 #21
ja, men jeg er temmelig blank overfor hvad du mener...
Avatar billede dex_dexter Nybegynder
25. februar 2003 - 14:24 #22
se, det jeg skal have lavet det er følgende:

jeg skal bruge felterne id & answer i et script for at sammen ligne de data med en session.
og så skal det være så jeg f.eks kan skrive

getmysql(testnavn);
så henter den id & answer fra table testnavn og smider den ud i et array jeg kan benytte uden for funktionen
blev det mere klart?
Avatar billede exp Juniormester
25. februar 2003 - 14:27 #23
function getmysql($tbl) {
  if ($tbl = '') {
    echo "ingen tabel valgt";
  } else
    $result = mysql_query("SELECT answer FROM '$tbl'")or die (mysql_error());
    while($row = mysql_fetch_row($result)) {
      $id = $row['id'];
      $answer = $row['answer'];
      echo $id;
      echo $answer;
    }
  }
}

Prøv dette
Avatar billede exp Juniormester
25. februar 2003 - 14:27 #24
getmysql(test1);
Avatar billede rednex Nybegynder
25. februar 2003 - 20:19 #25
function get_data()
{
  $result = mysql_query("SELECT id,answer FROM test1")or die (mysql_error());
  while($row = mysql_fetch_array($result)) {
    $data[$row[id]] = $row[answer];
  }
  return $result;
}

Funktionen bruges sådan her:

$var = get_data();

echo $var[0]; // Udskriver Answer med ID 0
Avatar billede rednex Nybegynder
25. februar 2003 - 20:20 #26
...og så skulle linien
  return $result;
jo hedde:
  return $data;
Avatar billede dex_dexter Nybegynder
03. marts 2003 - 08:06 #27
ehh rednex,  $data[$row[id]] = $row[answer];
ser pænt forkert ud? ;)
Avatar billede dex_dexter Nybegynder
03. marts 2003 - 09:59 #28
har rent faktisk fået noget stykket sammen selv der virker, jeres var lidt buggy, men fik det vist ikke forklaret så godt, men svar lige alle sammen og få en del af tærten
Avatar billede exp Juniormester
03. marts 2003 - 10:00 #29
exp
Avatar billede rednex Nybegynder
03. marts 2003 - 15:23 #30
dex dexter: Om det er forkert afhænger jo af hvad du prøver at opnå. Fidusen er jo netop at jeg laver et array som er indekseret efter de ID værdier der kommer ud af databasen. Det er der vel ikke noget forkert i ?
Men hvis det ikke er det du skal bruge så er det vel 'forkert' :|
Avatar billede dex_dexter Nybegynder
05. marts 2003 - 15:36 #31
jeg skal bare have hevet alle ids & answers ud af en bestemt table, men har fået det til at virke så lukker her.
det jeg mente var at du smed id´ens værdi over i et array du kaldte answer?

men anyway mange tak for hjælpen
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