Toon posts:

Een array uit mysql halen, en weer terugzetten

Pagina: 1
Acties:

Verwijderd

Topicstarter
http://213.69.39.85/admir/script.zip

Ok, in bovenstaand script heb ik een probleempje, ik zal even uitleggen wat ik er mee wil bereiken.

Ik heb in mysql een database, met 2 tabellen, department en consultants, in consultants staat een lijstje met namen, met daaraan een id gekoppeld, en in department staat een lijst met afdelingen, met daarachter het id van de consultant die daarbij hoort.

Ik heb het met dit script voor elkaar dat hij alle afdelingen laat zien, en dat hij daarachter een drop-down menu heeft met alle mogelijke consultants. Nou wil ik dat ik alle drop-down menuutjes van waarde kan veranderen, en dat hij met 1 druk op een submit button alle waarden update in de tabel.

Heeft er iemand een idee hoe ik dat kan doen ??? Of heeft er iemand een helder idee waarop ik het complete script om zou moeten gooien ??? (8>

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

Janoz

Moderator Devschuur®

!litemod

Hmm.. mischien is het een ID om je hele database eens om te gooien zodat ie in ieder geval aan de eerste normaal vorm voldoet....

[edit] OEPS laat maar.. Keek net ff in je script... Ik dacht dat je echt een array in een record had staan...

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


Verwijderd

Topicstarter
8-) Ben nog niet zo dom als ik er uit zie *D

Ik denk dat het er dus toch op neer komt om telkens in die lus een var a[x] aan te maken ofzo ???

Is wel lelijk scripten om het zo op te moeten lossen :(

Weet ECHT NIEMAND een oplossing :9~ ???

Greetz...

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Je zou de naam van het select menuutje kunnen veranderen in cons['$departmentID']

dan krijg je in update.php een array cons binnen met voor elke departmentID een consultantID:
code:
1
2
3
4
5
foreach ( $cons as $depID => $conID )
{
   $query = "UPDATE departments SET consultantID='$conID' WHERE departmentID='$depID';
   /* ... etc ...*/
}

Zoiets:
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?
require("mysql.php");
?>
<html>
<head>
   <title>Admin</title>
</head>

<body>
<form name="form1" method="POST" action="update.php">
<table width=50% border=0 cellspacing=0 cellpadding=0>
<?
$query   =<<SQL1
   SELECT   id,
            consultant 
   FROM     consultants
SQL1;
$result  = mysql_db_query ( consultants, $query, $cid );
if ( mysql_errno () != 0 )
   echo "<pre>$query\n\n", mysql_error (), "\nfile: ", __FILE__, " at line ", __LINE__, "</pre>";

while ( $row = mysql_fetch_array ( $result ) )
   $consultants[] = $row;

mysql_free_result ( $result );

$query =<<<SQL
   SELECT      department.department, 
               consultants.consultant, 
               consultants.id, 
               department.consultantid 
   FROM        department 
   LEFT JOIN   consultants
            ON department.consultantid = consultants.id 
   ORDER BY    department.department
SQL;

$result = mysql_db_query ( consultants, $query, $cid );

if ( mysql_errno () != 0 )
   echo "<pre>$query\n\n", mysql_error (), "\nfile: ", __FILE__, " at line ", __LINE__, "</pre>";
else
{
   while( list ( $dep, $consultant, $id, $consultantid ) = mysql_fetch_row ( $result ) )
   {
      echo "<tr>";
      echo "<td>$dep</td>";
      echo "<td>$consultant</td>";
      echo "<td>";
      echo "<select name='cons[$dep]' onChange=gone()>";
      while ( list ( $id2, $conslist ) = each ( $consultants ))
      {
         echo "<option value='$id2'";
         if( $id2 == $consultantid )
            echo " selected";
         echo ">$conslist</option>";
      }
        echo "</select>";
      echo "</td>";
      echo "</tr>";
   }
}
mysql_free_result ( $result );
?>
</table>
</form>
</body>
</html>
<?
?>

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz