[PHP][MYSQL] while lus in sql-query *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • aOk
  • Registratie: September 2000
  • Niet online
De bedoeling is om in een tabel te zetten welke gegevens uit een tabel gehaald moeten worden.

Om dit te bereiken heb ik een tabel genaamd formulieren met de velden id, tablename en fieldname

Dus wat ik eigenlijk wil doen is:
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?
$db = mysql_connect("localhost", "root", "shit");  
mysql_select_db("test", $db); 

$table = "artikel";

$sql = "SELECT * FROM formulieren"; 
$resultaat = mysql_query($sql); 

$sql1 = "select while ($record = mysql_fetch_object($resultaat)) {$record->tablename.$record->fieldname,;} FROM $table";
?>


Die $sql1 statement klopt nu dus niet.. maar het is dus de bedoeling dat daar $record->tablename.$record->fieldname in komen te staan en die while lus verder niet.

Dus stel je voor je hebt in de tabel formulieren:
ID tablename fieldname
1 artikel id
2 artikel omschrijving

en dan moet de sql-query als volgt worden:
$sql1 = "select artikel.id, artikel.omschijving from artikel";

ps. sorry voor titel was het vergeten, zou deze veranderd kunnen worden in "[PHP][MYSQL] while lus in sql-query

[ Voor 47% gewijzigd door aOk op 17-03-2003 11:42 ]


Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Nu online
Ik snap niet precies wat je bedoelt. Werkt die while-lus wel naar behoren? Probeer de query eens stap-voor-stap op te bouwen:

PHP:
1
2
3
4
5
6
$sql1 = "select ";
while ($record = mysql_fetch_object($resultaat))
{
    $sql1 .= $record->tablename.'.'.$record->fieldname.', '
}
$sql1 .= ' FROM '.$table;


Alleen nog even die laatste komma zien kwijt te raken.

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:51
Lees eens dit:
Welkom in P&W -> Quickstart (update 2/10/2002)
en vul je topic aan met de nodige info.

En als je zegt wat de titel moet zijn, dan kan die veranderd worden.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • aOk
  • Registratie: September 2000
  • Niet online
De oplossing (thx to sjoorda):

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
<?
$db = mysql_connect("localhost", "root", "shit");   
mysql_select_db("test", $db);  
$sql = "SELECT * FROM formulieren"; 
$resultaat = mysql_query($sql); 
$max = mysql_num_rows($resultaat);
$table = "artikel"; 
$i=1;
$sql1 = "select "; 
while ($record = mysql_fetch_object($resultaat)) 
{ 
  if ($i == $max){
    $sql1 .= $record->Tablename.'.'.$record->Fieldname;
  }elseif ($i !=$max){
    $sql1 .= $record->Tablename.'.'.$record->Fieldname.', ';
  }
    $i++;
} 
$sql1 .= ' FROM '.$table;
?>  


, opgelost door if-statement

Enorm bedankt _/-\o_ ik had geen idee dat dit bestond:

$sql1 = "select";
$sql1 .= "bla";
$sql1 .= "bla2";

echo $sql1 = "selectblabla2";

[ Voor 29% gewijzigd door aOk op 17-03-2003 12:39 ]


Acties:
  • 0 Henk 'm!

  • aOk
  • Registratie: September 2000
  • Niet online
Nog 1 vraagje:

Hoe krijg ik '-jes om $record->Tablename en $record->Fielname

en waar op bijvoorbeeld www.php.net kan ik documentatie hierover vinden? (want ik heb geen idee wat het trefwoord hiervoor moet zijn

Sorry domme vraag er moeten `-jes omheen

[ Voor 13% gewijzigd door aOk op 18-03-2003 11:13 . Reden: DOM ]


Acties:
  • 0 Henk 'm!

Verwijderd

Dit is echt te basic voor woorden, maar omdat ik in een goede bui ben zal ik het je toch laten zien.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
$db = mysql_connect("localhost", "root", "shit");   
mysql_select_db("test", $db);  
$sql = "SELECT * FROM formulieren"; 
$resultaat = mysql_query($sql); 
$max = mysql_num_rows($resultaat);
$table = "artikel"; 
$i=1;
$sql1 = "select "; 
while ($record = mysql_fetch_object($resultaat)) 
{ 
  if ($i == $max){
    $sql1 .= "`" . $record->Tablename . "`.`" . $record->Fieldname . "`";
  }elseif ($i !=$max){
    $sql1 .= "`" . $record->Tablename . "`.`" . $record->Fieldname . "`, ";
  }
    $i++;
} 
$sql1 .= ' FROM '.$table;
?>  

Acties:
  • 0 Henk 'm!

  • aOk
  • Registratie: September 2000
  • Niet online
ehm dat bedoelde ik niet..
maar toch bedankt

Ik was in de war dacht even dat d'r '-jes omheen moesten ipv `-jes

en '-jes vind ik niet basic (heb geen idee hoe dat moet :S)
Pagina: 1