[PHP/MYSQL] waarde van een veld

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Reignman
  • Registratie: Februari 2001
  • Laatst online: 26-11-2021
Ik heb een simpele vraag... ik heb 2 tabellen... 1 met projectnamen erin en 1 waar users hun uren kunnen invullen

nu wil ik kijken of een bepaalde user aan een project werkt...nu heb ik bijna de code... ik weet alleen niet wat ik in de if voorwaarde moet zetten...

code:
1
2
3
4
5
6
7
8
9
$aantal = mysql_num_rows($resultUren); 
for ($i = 0; $i < $aantal; $i++) {


if ((urentabel rij[$i] kolom[naam] == $user) AND 
(urentabel rij[$i] kolom[project] == $myrowProject["project"])) {

komtVoor = TRUE;
}


nu is mijn vraag dus:

wat moet ik ipv urentabel rij[$i] kolom[naam] erin zetten?

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Nu online
Waarom haal je de gegevens die je wilt hebben niet direct via SQL op ?

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Iets als dit?
SQL:
1
2
SELECT EXISTS(*) AS komtVoor FROM MyUser, MyProject 
WHERE MyUser.UserId = MyProject.UserId;

Lijkt me toch tig keer handiger dan een hoop geneuzel in PHP :X

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • Reignman
  • Registratie: Februari 2001
  • Laatst online: 26-11-2021
Het is voor mijn site... en ik wil het het liefst zo doen met php code...

wil dus eigenlijk alleen maar weten hoe je een specifieke veld waarde ophaalt uit een database met php code.

De database naam is:
code:
1
$resultUren = mysql_query("SELECT * FROM uren",$db);

dus stel ik wil de waarde weten van rij 3, kolom 5... hoe ken ik die dan toe aan $waarde? :
code:
1
$waarde = .......;

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Nu online
Reignman schreef op 10 maart 2004 @ 12:23:
Het is voor mijn site... en ik wil het het liefst zo doen met php code...
Waarom?
Waarom verkies je ranzigheid en moeilijkdoenerij voor performance en elegantie?
wil dus eigenlijk alleen maar weten hoe je een specifieke veld waarde ophaalt uit een database met php code.
Ik vermoed dat je dat wel in iedere PHP tutorial vind?

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Reignman schreef op 10 maart 2004 @ 12:23:
Het is voor mijn site... en ik wil het het liefst zo doen met php code...

wil dus eigenlijk alleen maar weten hoe je een specifieke veld waarde ophaalt uit een database met php code.

De database naam is:
code:
1
$resultUren = mysql_query("SELECT * FROM uren",$db);

dus stel ik wil de waarde weten van rij 3, kolom 5... hoe ken ik die dan toe aan $waarde? :
code:
1
$waarde = .......;
PHP:
1
2
3
4
$resultUren = mysql_query("SELECT * FROM uren",$db);
for($i = 0; $i != 3; $i++)
  $row = mysql_fetch_row($resultUren);
echo $row[5];

Maar als je dit van plan bent snap je geen hol van de bedoelingen en ideeen achter een database :X

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

Rij 3, kolom 5? En je originele vraag is of er een user aan een project werkt aan de hand van 2 tabellen? Je moet het huisje bij het schuurtje houden en het gewoon met SQL oplossen. De enige PHP-functie die je hoeft te gebruiken is mysql_num_rows() en er staan ongeveer 3428,1 voorbeelden hier van op GoT, inclusief de SELECT-queries ;)

[ Voor 5% gewijzigd door RedRose op 10-03-2004 13:37 ]

Sundown Circus


Acties:
  • 0 Henk 'm!

  • Reignman
  • Registratie: Februari 2001
  • Laatst online: 26-11-2021
Heb het al gevonden...
Het was mysql_result($result, rij, "kolomnaam")

Hier de gebruikte code van me voor mijn eerdere probleem... (voor degene die het iets intresseert tenminste :P)

Ik kijk dus of een bepaalde user die ik meekrijg van de vorige pagina aan een bepaald project werkt uit de project tabel. En die laat ik dan printen...


PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
    $db = mysql_connect("sql.*****.nl", "****", "****") 
or die( "Fout bij het verbinden met de database" );
    mysql_select_db("scgdb",$db) 
or die( "Fout bij het selecteren met de database" );
        
    $url = "showUrenMedewerker003.php";
        
    $resultProject = mysql_query("SELECT * FROM project",$db) 
or die( "Fout bij het ophalen van de projecten" );
    $resultUren = mysql_query("SELECT * FROM uren",$db) 
or die( "Fout bij het ophalen van de projecten" );
    
    $aantalUren = mysql_num_rows($resultUren);
        
    while ($myrowProject = mysql_fetch_array($resultProject)) {
       $komtVoor = FALSE;
       for ($i = 0; $i < $aantalUren; $i++) {
          if ((mysql_result($resultUren, $i, "naam") == $user) AND 
(mysql_result($resultUren, $i, "project") == $myrowProject["project"])){
          $komtVoor = TRUE;
          $naamBedrijf = mysql_result($resultUren, $i, "bedrijf");
          }
       }
       if ($komtVoor == TRUE) {
          printf("%s (%s)<a href=\"%s?user=%s&project=%s&bedrijf=%s\">
[img]\"images/view.gif\"></a><br><br[/img]"
, $myrowProject["project"], $naamBedrijf, $url, $user, 
$myrowProject["project"], $naamBedrijf);
       }    
    }   
?>

[ Voor 24% gewijzigd door Reignman op 10-03-2004 14:46 ]


Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

Ik vind het geweldige, resourceverslindende spaghetti. :Y)

Sundown Circus


Acties:
  • 0 Henk 'm!

  • bartware
  • Registratie: Juni 2001
  • Laatst online: 25-03-2023

bartware

@jabber.org

Performance is geen isssue begrijp ik.
Waarom 1 simpele query gebruiken als je ook erg ingewikkeld over hele tabellen kan loopen?
|:(

Overigens zou ik op regel 12 'projecten' vervangen door 'uren'.
Dan heb je ook nog iets aan je foutmeldingen.

Heb ik me begrepen?
Cycle Vision 2020: 17-20 juli Sportpark Sloten & Wheelerplanet Spaarnwoude


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 19:51

Creepy

Tactical Espionage Splatterer

Reignman schreef op 10 maart 2004 @ 14:45:
Heb het al gevonden...
Het was mysql_result($result, rij, "kolomnaam")

Hier de gebruikte code van me voor mijn eerdere probleem... (voor degene die het iets intresseert tenminste :P)

Ik kijk dus of een bepaalde user die ik meekrijg van de vorige pagina aan een bepaald project werkt uit de project tabel. En die laat ik dan printen...


PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
    $db = mysql_connect("sql.*****.nl", "****", "****") 
or die( "Fout bij het verbinden met de database" );
    mysql_select_db("scgdb",$db) 
or die( "Fout bij het selecteren met de database" );
        
    $url = "showUrenMedewerker003.php";
        
    $resultProject = mysql_query("SELECT * FROM project",$db) 
or die( "Fout bij het ophalen van de projecten" );
    $resultUren = mysql_query("SELECT * FROM uren",$db) 
or die( "Fout bij het ophalen van de projecten" );
    
    $aantalUren = mysql_num_rows($resultUren);
        
    while ($myrowProject = mysql_fetch_array($resultProject)) {
       $komtVoor = FALSE;
       for ($i = 0; $i < $aantalUren; $i++) {
          if ((mysql_result($resultUren, $i, "naam") == $user) AND 
(mysql_result($resultUren, $i, "project") == $myrowProject["project"])){
          $komtVoor = TRUE;
          $naamBedrijf = mysql_result($resultUren, $i, "bedrijf");
          }
       }
       if ($komtVoor == TRUE) {
          printf("%s (%s)<a href=\"%s?user=%s&project=%s&bedrijf=%s\">
[img]\"images/view.gif\"></a><br><br[/img]"
, $myrowProject["project"], $naamBedrijf, $url, $user, 
$myrowProject["project"], $naamBedrijf);
       }    
    }   
?>
Aan bovenstaand commentaar kan je al enigzins het idee krijgen dat wat je doet niet zo handig is. Je haalt nu *ALLE* data op, loopt hier doorheen en bekijkt dan in PHP of er iets tussen zit wat je wilt hebben.

M.b.v. de juiste SQL Query kan je ook de juiste informatie in 1 keer ophalen. Dit is sneller en veel minder resource vretend.

Zoek eens een SQL tutorial op. En kijk dan vooral eens naar WHERE en JOINS, ik denk dat je het met de rest eens zult zijn dat je bovenstaande code dan niet zo handig is ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1