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.
Kommentar