Hallo zusammen
Ich bin neu hier und habe ein (für mich) grosses Problem.
Ich habe schon alle PHP Foren durchforstet aber irgendwie fehl mir der durchblick gerade total und ich soll die Arbeit bald abgeben.
1. Ich habe eine Seite wo ich die SQL Daten in einer Tabelle auslese. Auf dieser Seite habe ich in jeder Zeile einen submit button eingefügt der dafür sorgt das die Seite zum bearbeiten des Eintrags geöffnet wird. das Funktioniert auch nur das auf der seite dann keine Daten angezeigt werden.
2. Auf der zweiten Seite habe ich ein Drop down Menü wo ich den Eintrag in die voreingestellten Kriterien ändern kann. Dann ist wieder ein Button zum bestätigen udn auf der nächsten Seite kommt der UPDATE Befehl für die Datenbank.
Das Projekt holt die Daten aus einer sehr verschachtelten MS-SQL Datenbank.
Hier die Codeansicht der ersten Seite mit der Tabelle.
employer.php
	
Dann wird die zweite Seite geöffnet zum Bearbeiten.
Aber mit dieser Abfrage schaffe ich es nicht das hier auch Daten angezeigt werden.
employer2.php
	
Auf der nächsten Seite werden die Daten in die DB geschrieben.
Hier kommen Error Meldungen.
Notice: Undefined index: test in C:\xampp\htdocs\sipass\employer3.php on line 45
(Ich weiß aber nicht wie ich da den Wert reinkriegen soll.)
wenn mann den sql_query ansieht, sieht man das er leer ist, aber warum?
UPDATE asco.employee SET acc_grp_id = '1' WHERE emp_id = ''
employer3.php
	

Ein Teil des letzen Schrittes mit dem Update funktioniert.
Nur in einer Variable ist kein Wert und sie ist nicht definiert.
Die definierte Var holt ihren Wert aus der employer2.php aus der Tablee vom selectfenster
Wäre echt nett wenn mir jemand weiterhelfen kann.
					Ich bin neu hier und habe ein (für mich) grosses Problem.
Ich habe schon alle PHP Foren durchforstet aber irgendwie fehl mir der durchblick gerade total und ich soll die Arbeit bald abgeben.
1. Ich habe eine Seite wo ich die SQL Daten in einer Tabelle auslese. Auf dieser Seite habe ich in jeder Zeile einen submit button eingefügt der dafür sorgt das die Seite zum bearbeiten des Eintrags geöffnet wird. das Funktioniert auch nur das auf der seite dann keine Daten angezeigt werden.
2. Auf der zweiten Seite habe ich ein Drop down Menü wo ich den Eintrag in die voreingestellten Kriterien ändern kann. Dann ist wieder ein Button zum bestätigen udn auf der nächsten Seite kommt der UPDATE Befehl für die Datenbank.
Das Projekt holt die Daten aus einer sehr verschachtelten MS-SQL Datenbank.
Hier die Codeansicht der ersten Seite mit der Tabelle.
employer.php
PHP-Code:
	
	
                <?php
                    error_reporting(E_ALL);
                    include("db_connect.php");//Datenbankverbindung
                    if(isset($_POST['sword']))//Suchfunktion
                    {
                    //Datenbankabfrage mit Suchfunktion in den Spalten Vorname, Nachname und Kartennummer
                    $user=(mssql_query("SELECT last_name, first_name, card_no, card_status, 
                                        asco.employee.acc_grp_id, cardholder_id, asco.access_groups.acc_grp_id, acc_grp_name 
                                        FROM  asco.employee, asco.access_groups
                                        WHERE asco.employee.acc_grp_id = asco.access_groups.acc_grp_id
                                        AND     (last_name LIKE ('%" .utf8_decode($_POST['sword']). "%') 
                                                OR first_name LIKE ('%" .utf8_decode($_POST['sword']). "%') 
                                                OR acc_grp_name LIKE ('%" .$_POST['sword']. "%')
                                                OR card_no LIKE ('%" .$_POST['sword']. "%'))
                                        ORDER BY last_name, first_name"));
                    }
                    else
                    {
                    //Datenbankabfrage ohne Suchfunktion. Die komplette Personenliste wird ausgegeben.
                    $user=(mssql_query("SELECT last_name, first_name, card_no, card_status, 
                                        asco.employee.acc_grp_id, cardholder_id, 
                                        asco.access_groups.acc_grp_id, acc_grp_name 
                                        FROM asco.access_groups, asco.employee
                                        WHERE asco.employee.acc_grp_id = asco.access_groups.acc_grp_id
                                        ORDER BY last_name, first_name"));
                    }
                ?>
                <!-- Eingabefenster für die Suchfunktion-->
                <form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post">
                <input name="sword" type="text" /> <input name="suchen" value="Suchen" type="submit" />
                </form>
                
                <!-- Tabelle für die Personenliste-->
                <form action="employer2.php" method="post">
                <table background="http://www.php-resource.de/forum/images/tabemp.jpg" cellspacing=0 width="680px"><!-- image muss hier stehen für IE7 -->
                <br />
                    <caption>
                    <h3>Aktiv<span class="Stil1">-</span>Nachname<span class="Stil1">-----</span>Vorname<span class="Stil1">-------</span>
                    Ausweis<span class="Stil1">--------</span>Berechtigung<span class="Stil1">------------</span></h3>
                    </caption>
                
                <?php
                                    
                
                    while( $row=mssql_fetch_array($user) )//Ausgabe der Personendaten in die Tabelle. Alle Zeilen vom SELECT
                    {    
                        echo "<tr height=28px background=images/tabemp.jpg>"; //image für Firefox und chrome
                        echo "<td width=5></td>";
                        echo "<td width=50><font style=float:left>";
                            if($row['card_status'] == '61')//Abfrage ob die Person Aktiv ist
                            {
                                ?>
                                <a href="javascript:void(0)" onclick="changeStatus(<?php echo (int)$row['cardholder_id']; ?>, 1)">
                                <img src="http://www.php-resource.de/forum/images/icongn.png" width="26" height="20" border="0" />
                                </a>
                                <?php
                                // Javascript aktiviert
                                // Einbinden der Grafik für Person = aktiv
                            }
                            else
                            {
                                ?>
                                <a href="javascript:void(0)" onclick="changeStatus(<?php echo (int)$row['cardholder_id']; ?>, 0)">
                                <img src="http://www.php-resource.de/forum/images/iconred.png" width="26" height="20" border="0" />
                                </a>
                                <?php
                                //Javascript aktiviert
                                // Einbinden der Grafik für Person = gesperrt
                            }
                        echo " </td>";    
                        // Familienname aufgelistet und utf8 gestellt    
                        echo "<td width=140><font style=float:left>".utf8_encode($row['last_name'])." </td>";
                        // Vorname aufgelistet und utf8 gestellt
                        echo "<td width=140><font style=float:left>".utf8_encode($row['first_name'])." </td>";
                        // Kartennummer aufgelistet
                        echo "<td width=140><font style=float:left>".$row['card_no']." </td>";
                        // Berechtigungsgruppe aufgelistet
                        echo "<td width=150><font style=float:left>".$row['acc_grp_id']." </td>";
                        echo "<td width=50><font style=float:right>"?><input name="recht" id="recht" type='submit' value='Ändern'><?php "</td>";
                        echo "<td width=5></td>";
                        echo "</tr>";
                        
                    }
                ?>
                </table>
                </form>
Aber mit dieser Abfrage schaffe ich es nicht das hier auch Daten angezeigt werden.
employer2.php
PHP-Code:
	
	
                <?php
                include('db_connect.php');
                
                $recht = $_POST['recht'];
                $acc_grp_id = $_POST['asco.employee.acc_grp_id'];
                echo $recht;
                echo $acc_grp_id;
                $user = mssql_query("SELECT last_name, first_name, card_no, card_status, 
                                    asco.employee.acc_grp_id, cardholder_id, 
                                    asco.access_groups.acc_grp_id, acc_grp_name 
                                    FROM asco.access_groups, asco.employee
                                    WHERE asco.employee.acc_grp_id = asco.access_groups.acc_grp_id
                                    AND cardholder_id = '$recht'");
                                    
                $gruppe = mssql_query("SELECT acc_grp_name, acc_grp_id FROM asco.access_groups");
 
                if ( ! $user )
                {
                    die('Ungültige Abfrage: ' . mysql_error());
                }
                ?>
                <form action="employer3.php" method="post">
                <table background="http://www.php-resource.de/forum/images/tabemp.jpg" cellspacing=0 width="680px">
                <br />
                    <caption>
                    <div id="stil3">ID<span class="Stil1">-</span>Nachname<span class="Stil1">-----</span>Vorname<span class="Stil1">-------</span>
                    Ausweis<span class="Stil1">--------</span>Berechtigung<span class="Stil1">------------</span></div>
                    </caption>
                
                <?php
                 while ($ausgabe = mssql_fetch_array( $user))
                 {
                 echo "<tr height=28px background=images/tabemp.jpg>";
                 echo "<td width=30>" .$ausgabe['cardholder_id'] . "</td>";
                 echo "<td width=150>". utf8_encode($ausgabe['last_name']) . "</td>";
                 echo "<td width=150>". utf8_encode($ausgabe['first_name']) . "</td>";
                 echo "<td width=150>". $ausgabe['card_no'] . "</td>";
                 echo "<td width=150>";
                 echo "<select name='accessgroup'>";
                             while ($data = mssql_fetch_array($gruppe))
                            {
                                $selected = "";
                                if ($ausgabe['acc_grp_id'] == $data['acc_grp_id'])
                                {
                                    $selected = " selected='selected'";
                                }
                                 echo "<option value=\"" . $data['acc_grp_id'] . "\"". $selected. ">" . $data['acc_grp_id'] . "</option>\n";
                            }
                echo"</select></td>";
                echo "<td width=50><font style=float:right>" ?><input name="change" type="submit" value="Speichern" method="post" ><?php "</td>";
                echo "</tr>";
                }
                mssql_free_result( $user );
                ?>
                </table>
                </form>
Hier kommen Error Meldungen.
Notice: Undefined index: test in C:\xampp\htdocs\sipass\employer3.php on line 45
(Ich weiß aber nicht wie ich da den Wert reinkriegen soll.)
wenn mann den sql_query ansieht, sieht man das er leer ist, aber warum?
UPDATE asco.employee SET acc_grp_id = '1' WHERE emp_id = ''
employer3.php
PHP-Code:
	
	
<?php
error_reporting(E_ALL);
// LOGIN SCRIPT
include('db_connect.php');
                $emp_id = $_POST['test'];
                $acc_grp_id = $_POST['accessgroup'];
                
  //daten bearbeiten 
  $aendern = "UPDATE asco.employee SET 
 
  acc_grp_id = '$acc_grp_id' 
 
  WHERE emp_id = '$emp_id'";
 
echo "bearbeitet ! <br>";
 
mssql_query($aendern);
echo $aendern;
 ?>

Ein Teil des letzen Schrittes mit dem Update funktioniert.
Nur in einer Variable ist kein Wert und sie ist nicht definiert.
Die definierte Var holt ihren Wert aus der employer2.php aus der Tablee vom selectfenster
Wäre echt nett wenn mir jemand weiterhelfen kann.
          
 das wird solange nicht gehen bis du den Form Tag in die While mit aufnimmst und somit mehrere Formulare erstellst.
Kommentar