[mysql-newbie] hoe het resultaat aanspreken?

Pagina: 1
Acties:
  • 163 views sinds 30-01-2008
  • Reageer

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
Ik heb al gezocht op php.net en hier via de search
maar wat ik probeerde werkte niet.

Ik heb een query:
code:
1
2
$sql2 = mysql_query("SELECT * FROM x WHERE id='$id'")
or die("Could not execute query");

ik weet dat hier twee results uitkomen, namelijk 1 en 5.
Maar hoe vang ik die op met php, het moet namelijk ook werken als er meerdere results zouden zijn.

Ik kom er ff niet meer uit.

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


Verwijderd

PHP Manual gelezen? :)

Tip: mysql_fetch_array();

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
ik heb nu dit
code:
1
2
3
4
5
6
7
$sql2 = mysql_query("SELECT * FROM xxx WHERE id='$id'") or die("Could not execute query");
$row2 = mysql_fetch_array($sql2);
$count = mysql_num_rows($sql2);

for ($i=0; $i<=$count; $i++) {
echo $row2[$i];
}

maar dit geeft dus alle values van het eerste result
maar ik wil EEN bepaalde waarde van alle results

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • Ariejan
  • Registratie: Februari 2001
  • Laatst online: 02-09 16:31
PHP:
1
2
3
4
5
6
7
8
9
10
<?
$query = "SELECT name, pass FROM user WHERE id='$id'";
$result = mysql_query($query);
while ($res = mysql_fetch_array($result))
{
  $username = $res['name'];
  $password = $res['pass']
  print("$username has as $password as password");
}
?>

Dit print alle usernamen en passworden waar id=$id.

Je kan ook * gebruiken om alle velden te selecteren, maar dat werkt op dezelfde manier.

Verwijderd

Op maandag 08 oktober 2001 22:57 schreef Ariejan

Je kan ook * gebruiken om alle velden te selecteren, maar dat werkt op dezelfde manier.
en hoe selecteer je dan je 'eigen gemaakte' columns?
Ik doel op zoiets als "SELECT max(leeftijd) FROM user"?

Het volegende werkt niet
PHP:
1
2
3
4
5
6
7
8
<?
   $sql="SELECT max(leeftijd) FROM user";
   $resultaat = mysql_query($sql); 
   while ($record = mysql_fetch_object($resultaat))
   { 
    echo "$record->max(leeftijd)<BR>";
   }
?>

hoe moet je die dingen wel aanspreken?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op dinsdag 09 oktober 2001 14:33 schreef dj_delta het volgende:
hoe moet je die dingen wel aanspreken?
Select max(leeftijd) as leeftijd_max ...

En dan in je object de row leeftijd_max pakken.

Verwijderd

Op dinsdag 09 oktober 2001 14:40 schreef ACM het volgende:

[..]

Select max(leeftijd) as leeftijd_max ...

En dan in je object de row leeftijd_max pakken.
:D dom dom dom van me.. thanx!

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
hallo,
daar ben ik weer met nog ongeveer hetzelfde probleempje:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
echo "<table width=100% class=forum>";

$sql2 = mysql_query("SELECT * FROM f_threads WHERE forumid='$id'") or die("Could not execute query");
$row2 = mysql_fetch_array($sql2);
$threadcount = mysql_num_rows($sql2);
$threadid = $row2["id"];
$threadtitel = $row2["titel"];
$username = $row2["username"];

for ($i=0; $i<$threadcount; $i++) {

$kleur= (++$c %2) ? "AAAAAA" : "CCCCCC";

echo "<tr><td valign=top bgcolor=$kleur class=forum>";
echo "<p align=left><a href=thread.php?id=$threadid[$i]>$threadtitel[$i]</a> - $username[$i]";
echo "</td></tr>";
}

echo "</table>";
?>

De query geeft dus twee results
in het eerste $i++ staat de eerste letter van het eerste result
in het tweede $i++ staat de twee letter van het eerste result
van het tweede result wordt niks weergegeven.

Wat doe ik fout, of wie heeft er een hint voor mij?

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-09 22:25

Janoz

Moderator Devschuur®

!litemod

De threadcount moet je op het resultaat doen, en niet op de query-string.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
Op dinsdag 09 oktober 2001 21:57 schreef Janoz het volgende:
De threadcount moet je op het resultaat doen, en niet op de query-string.
ok... maar hoe?

kun je me misschien een handje in de goeie richting helpen met de code?

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
mysql_fetch_array geeft een associatieve array van één rij, dus je moet het aanroepen per rij
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$sql2 = mysql_query("SELECT * FROM f_threads WHERE forumid='$id'") or die("Could not execute query");
$threadcount = mysql_num_rows($sql2);

for ($i=0; $i<$threadcount; $i++)
{
    $row2 = mysql_fetch_array($sql2);
    $threadid = $row2["id"];
    $threadtitel = $row2["titel"];
    $username = $row2["username"];
    $kleur = (++$c %2) ? "AAAAAA" : "CCCCCC";

    echo "<tr><td valign=top bgcolor=$kleur class=forum>";
    echo "<p align=left><a href=thread.php?id=$threadid>$threadtitel</a> - $username";
    echo "</td></tr>";
}
echo "</table>";

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
heeeeel hartelijk bedankt :)

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt

Pagina: 1