Rij van tabel automatische id-nummerin meegeven
Ik zit met het volgende. Vanuit mijn database maak ik een tabel welke op een pagina wordt weergegeven, zie bestand tabel.html.
Deze tabel wordt gegenereerd uit een phpbestand, zie gen.php. Nu wil ik de html-tag <td> een id meegeven die begint bij id="1" en doorloopt tot het aantal rijen er worden gegeneerd uit de database. Deze id's moet ik weer gebruiken voor een sortering.
Wie o wie kan mij helpen.
Al vast bedankt.
Wim
bestand.html
Code (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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<h2>Contact Registration</h2>
<table class="delete" border="1">
<tr>
<th class="delete">Datum :</th>
<th class="delete">Wie:</th>
<th class="delete">Met wie:</th>
<th class="delete">Onderwerp :</th>
<th class="delete">Vervolg Actie :</th>
<th class="delete">Opmerkingen :</th>
<th class="delete"> </th>
</tr>
<tr>
<td class="delete"valign="top"><form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<input name="date" style="font-family:Verdana, Arial, Helvetica;font-size:11px;color:#999" size="10" value="<?php echo date('Y-m-d');?>" /><br />
<input type="button" class="button" value="Kies Datum" onclick="displayDatePicker('date', false, 'ymd', '-');">
</td>
<td class="delete" valign="top">
<select name="own_contact" style="font-family:Verdana, Arial, Helvetica;font-size:11px">
<option value="">Wie?</option>
<?php
while($row_sel_fo=mysql_fetch_array($res_sel_fo))
{
echo "<option style=\"font-family:Verdana, Arial, Helvetica;font-size:11px\" value=\"".$row_sel_fo['code']."\">".$row_sel_fo['code']."</option>\n";
}
?>
</select>
</td>
<td class="delete" valign="top"><!--<textarea name="with_whom"></textarea>--><input name="with_whom" size="15" type="text" /></td>
<td class="delete" valign="top"><textarea id="area2" name="subject"></textarea></td>
<td class="delete" valign="top"><textarea id="area3" name="action"></textarea></td>
<td class="delete" valign="top"><textarea id="area4" name="remark"></textarea></td>
<td class="delete" valign="top">
<input type="image" src="inc/images/save.gif" height="28" width="28" name="save" alt="Opslaan" />
<input type="hidden" name="screen" value="save_contact_reg" />
</form>
</td>
</tr>
<?php
// hier worden alle rijen uit de database die voldoen aan de voorwaarden getoond. Alle <td>'s moeten een id="#" nummer meekrijgen.
while($row_contact_registration_select=mysql_fetch_array($res_contact_registration_select))
{
?>
<tr>
<td valign="top"><?php echo $row_contact_registration_select['date'];?></td>
<td valign="top"><?php echo $row_contact_registration_select['who'];?></td>
<td valign="top"><?php echo $row_contact_registration_select['with_whom'];?></td>
<td valign="top"><?php echo $row_contact_registration_select['subject'];?></td>
<td valign="top"><?php echo $row_contact_registration_select['action'];?></td>
<td valign="top"><?php echo $row_contact_registration_select['remark'];?></td>
<td> </td>
</tr>
<?php
}
?>
</table>
<table class="delete" border="1">
<tr>
<th class="delete">Datum :</th>
<th class="delete">Wie:</th>
<th class="delete">Met wie:</th>
<th class="delete">Onderwerp :</th>
<th class="delete">Vervolg Actie :</th>
<th class="delete">Opmerkingen :</th>
<th class="delete"> </th>
</tr>
<tr>
<td class="delete"valign="top"><form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<input name="date" style="font-family:Verdana, Arial, Helvetica;font-size:11px;color:#999" size="10" value="<?php echo date('Y-m-d');?>" /><br />
<input type="button" class="button" value="Kies Datum" onclick="displayDatePicker('date', false, 'ymd', '-');">
</td>
<td class="delete" valign="top">
<select name="own_contact" style="font-family:Verdana, Arial, Helvetica;font-size:11px">
<option value="">Wie?</option>
<?php
while($row_sel_fo=mysql_fetch_array($res_sel_fo))
{
echo "<option style=\"font-family:Verdana, Arial, Helvetica;font-size:11px\" value=\"".$row_sel_fo['code']."\">".$row_sel_fo['code']."</option>\n";
}
?>
</select>
</td>
<td class="delete" valign="top"><!--<textarea name="with_whom"></textarea>--><input name="with_whom" size="15" type="text" /></td>
<td class="delete" valign="top"><textarea id="area2" name="subject"></textarea></td>
<td class="delete" valign="top"><textarea id="area3" name="action"></textarea></td>
<td class="delete" valign="top"><textarea id="area4" name="remark"></textarea></td>
<td class="delete" valign="top">
<input type="image" src="inc/images/save.gif" height="28" width="28" name="save" alt="Opslaan" />
<input type="hidden" name="screen" value="save_contact_reg" />
</form>
</td>
</tr>
<?php
// hier worden alle rijen uit de database die voldoen aan de voorwaarden getoond. Alle <td>'s moeten een id="#" nummer meekrijgen.
while($row_contact_registration_select=mysql_fetch_array($res_contact_registration_select))
{
?>
<tr>
<td valign="top"><?php echo $row_contact_registration_select['date'];?></td>
<td valign="top"><?php echo $row_contact_registration_select['who'];?></td>
<td valign="top"><?php echo $row_contact_registration_select['with_whom'];?></td>
<td valign="top"><?php echo $row_contact_registration_select['subject'];?></td>
<td valign="top"><?php echo $row_contact_registration_select['action'];?></td>
<td valign="top"><?php echo $row_contact_registration_select['remark'];?></td>
<td> </td>
</tr>
<?php
}
?>
</table>
gen.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
//--------------------------------------------------------------------------
// selectie uitvoeren op de tabel crm_xx voor de Wie? lijst
//--------------------------------------------------------------------------
$res_sel_fo=mysql_db_query("$db","$sql_sel_fo",$mysql_id);
//--------------------------------------------------------------------------
// selectie uitvoeren op de tabel crm_contact om de berichten te tonen
//--------------------------------------------------------------------------
$res_contact_registration_select=mysql_db_query("$db","$sql_contact_registration_select",$mysql_id);
//--------------------------------------------------------------------------
// invoegen van crm_contact_registration.html
//--------------------------------------------------------------------------
include_once ('view/crm_contact_registration.html');
?>
//--------------------------------------------------------------------------
// selectie uitvoeren op de tabel crm_xx voor de Wie? lijst
//--------------------------------------------------------------------------
$res_sel_fo=mysql_db_query("$db","$sql_sel_fo",$mysql_id);
//--------------------------------------------------------------------------
// selectie uitvoeren op de tabel crm_contact om de berichten te tonen
//--------------------------------------------------------------------------
$res_contact_registration_select=mysql_db_query("$db","$sql_contact_registration_select",$mysql_id);
//--------------------------------------------------------------------------
// invoegen van crm_contact_registration.html
//--------------------------------------------------------------------------
include_once ('view/crm_contact_registration.html');
?>
Code (php)
1
2
3
2
3
while($row_contact_registration_select=mysql_fetch_array($res_contact_registration_select))
{
?>
{
?>
<tr>
<td id="" valign="top"></td>
<td valign="top"></td>
<td valign="top"></td>
<td valign="top"></td>
<td valign="top"></td>
<td valign="top"></td>
<td> </td>
</tr>
</table>
Persoonlijk vind ik dat $row_contact_registration_select ook gewoon $row kan zijn natuurlijk ;).
Bedankt voor je bericht, maar ik wil niet de id's uit de tabel meegeven, maar een automatische nummering van 1 tot xxxxx die de nummering van de rij weergeven in de tabel die wordt gegeneerd.
In de db staan namelijk meerdere contactregistraties van verschillende klanten.
En ik snap dat je liever gewoon $row meegeeft, maar voor mijzelf vind ik het momenteel handiger om aan te geven waar de $row vandaag komt ;)
Wim
Dan dit:
Code (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
33
34
35
36
37
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
33
34
35
36
37
<?php
function make_i($standaard= false)
{
// resetten of jouw waarde opgeven
if($standaard !== false)
{
$i = intval($standaard);
}
// als $i nog niet bestaat (loos aanroepen)
if(!isset($i)
{
$i = 1;
}
global $i;
return $i + 1;
}
// teller op 1 zetten (kan je ook niet doen, maar is wellicht nodig)
make_i(1);
while($row_contact_registration_select=mysql_fetch_array($res_contact_registration_select))
{
?>
<tr>
<td id="<?php make_i(); ?>" valign="top"><?php echo $row_contact_registration_select['date'];?></td>
<td id="<?php make_i(); ?>" valign="top"><?php echo $row_contact_registration_select['who'];?></td>
<td id="<?php make_i(); ?>" valign="top"><?php echo $row_contact_registration_select['with_whom'];?></td>
<td id="<?php make_i(); ?>" valign="top"><?php echo $row_contact_registration_select['subject'];?></td>
<td id="<?php make_i(); ?>" valign="top"><?php echo $row_contact_registration_select['action'];?></td>
<td id="<?php make_i(); ?>" valign="top"><?php echo $row_contact_registration_select['remark'];?></td>
<td id="<?php make_i(); ?>"  </td>
</tr>
<?php
}
?>
function make_i($standaard= false)
{
// resetten of jouw waarde opgeven
if($standaard !== false)
{
$i = intval($standaard);
}
// als $i nog niet bestaat (loos aanroepen)
if(!isset($i)
{
$i = 1;
}
global $i;
return $i + 1;
}
// teller op 1 zetten (kan je ook niet doen, maar is wellicht nodig)
make_i(1);
while($row_contact_registration_select=mysql_fetch_array($res_contact_registration_select))
{
?>
<tr>
<td id="<?php make_i(); ?>" valign="top"><?php echo $row_contact_registration_select['date'];?></td>
<td id="<?php make_i(); ?>" valign="top"><?php echo $row_contact_registration_select['who'];?></td>
<td id="<?php make_i(); ?>" valign="top"><?php echo $row_contact_registration_select['with_whom'];?></td>
<td id="<?php make_i(); ?>" valign="top"><?php echo $row_contact_registration_select['subject'];?></td>
<td id="<?php make_i(); ?>" valign="top"><?php echo $row_contact_registration_select['action'];?></td>
<td id="<?php make_i(); ?>" valign="top"><?php echo $row_contact_registration_select['remark'];?></td>
<td id="<?php make_i(); ?>"  </td>
</tr>
<?php
}
?>
Of de functie volledig werkt: geen idee.
Waarschijnlijk zal je soms een notice krijgen, maar het idee zal wel werken (denk ik).
Succes.
Gewijzigd op 01/01/1970 01:00:00 door Eddy E
Sorry voor het late bericht. Vanwege omstandigheden heb ik niet eerder kunnen reageren.
Ik heb je functie niet uitgeprobeerd omdat ik op een ander idee ben gekomen waardoor ik dit niet meer nodig heb.
Toch hartelijk dank voor het meedenken.
Wim
Wim Selles schreef op 20.10.2008 15:02:
Ik heb je functie niet uitgeprobeerd omdat ik op een ander idee ben gekomen waardoor ik dit niet meer nodig heb.
Wil je dat idee ook met ons delen?
Ik ben aan de slag gegaan met JQuery voor het sorteren en filteren van de tabel. Hierdoor hoefde ik geen, naar mijn idee, rare dingen uit te halen om de sortering werkend te krijgen.
Wat ik tevens wilde was een mogelijkheid om als er op een rij werd geklikt, er ook info onder de tabel verscheen. Een vriend van mij heeft dat voor mij gemaakt icm Ajax zodat hij nu doet wat hij moet doen.
Ik heb nog wel een vraag die hier op verder gaat, maar die staat in http://www.phphulp.nl/forum/showtopic.php?id=57068&cat=12.
Als jullie graag de bestanden willen zien dan wil ik wel graag weten hoe ik die kan uploaden, dan kan iedereen er gebruik van maken :-D (als ik alleen de code neer moet zetten worden de moderator denk ik niet blij :D)
Groeten
Wim