Ich habe mehrere Eingabefelder in denen ein User Daten über sich eingibt, diese werden dann in eine DB gespeichert.
Nun das Problem das eine Feld ist für die zuordnung für die Benutzergruppen. Dieses Feld soll auch mehrfachnennungen zulassen. Das Problem ist dies soll in eine Spalte aufeinmal in der DB gespeichert werden.
Wie update ich mehrere Zeilen eines Fomulars mit gleichen Felder einer DB gleichzeitig?
Wie kann ich sowas machen?
Dann habe ich noch ein zweites ähnliches Problem. Ich kann alle gruppen die ich angelegt habe auf einer Seite bearbeiten. Das Problem ist ich muß bei jeder Veränderung jede Zeile einzeln Speichern.
Gibt es eine Möglichkeit das ich alles aufeinmal speichere und gleichzeitig in die Db schreibe???
<?php
// ------------- db with table l_user_group for Update open ------------------------
$db = "sage";
$link = mysql_connect ("localhost","...","...");
if ( ! $link )
die ("keine Verbindung ");
mysql_select_db( $db, $link )
or die ("konnte DB nicht oeffnen" );
if ($Submit == "Save")
{
$anfrage = "UPDATE l_user_group SET l_user_group_user = '$user_num_up', l_user_group_group = '$l_user_group_group_up'
where l_user_group_id = '$l_user_group_id_up'";
$ergebnis = mysql_query ( $anfrage );
}
if ($Submit_del == "YES")
{
$anfrage = "DELETE FROM l_group_perm WHERE l_user_group_id = '$l_user_group_id_del'";
$ergebnis = mysql_query ( $anfrage );
}
mysql_close ($link);
?>
<?
// ------------- db with table user for Update open ------------------------
$db = "sage";
$link = mysql_connect ("localhost","...","...");
if ( ! $link )
die ("keine Verbindung ");
mysql_select_db( $db, $link )
or die ("konnte DB nicht oeffnen" );
if ($Submit == "Save")
{
$anfrage = "UPDATE user SET user_num = '$user_num_up', user_cp_fname = '$user_cp_fname_up', user_cp_lname = '$user_cp_lname_up',
user_cp_position = '$user_cp_position_up', user_cp_phone ='$user_cp_phone_up', user_cp_phone_m ='$user_cp_phone_m_up',
user_cp_fax ='$user_cp_fax_up', user_cp_email ='$user_cp_email_up', user_comp_name = '$user_comp_name_up',
user_comp_street = '$user_comp_street_up', user_comp_city = '$user_comp_city_up', user_comp_zip = '$user_comp_zip_up',
user_comp_country = '$user_comp_country_up', user_comp_phone_1 = '$user_comp_phone_1_up', user_comp_phone_2 = '$user_comp_phone_2_up',
user_comp_fax = '$user_comp_fax_up', user_comp_email_1 = '$user_comp_email_1_up', user_comp_email_2 = '$user_comp_email_2_up',
user_comp_web_1 = '$user_comp_web_1_up', user_comp_web_2 = '$user_comp_web_2_up', user_name = '$user_name_up',
password = '$password_up_up' where user_id = '$user_id_up'";
$ergebnis = mysql_query ( $anfrage );
}
if ($Submit_del == "YES")
{
$anfrage = "DELETE FROM user WHERE user_id = '$user_id_del'";
$ergebnis = mysql_query ( $anfrage );
}
mysql_close ($link);
?>
<?php
// ------------- db with table group_desc open ------------------------
$link = mysql_connect ("localhost","...","...")
or die ("Verbindungsversuch ist fehlgeschlagen!");
$erfolg = mysql_select_db ("sage")
or die ("Angegebene Datenbank ist nicht vorhanden!");
$query_handle = mysql_query
("select group_desc_id, group_desc_num, group_desc_desc from group_desc ORDER BY group_desc_desc",$link);
$result = mysql_query($query);
$zeilen = mysql_num_rows ($query_handle);
$zeilen_perm = $zeilen;
for ($i = 0; $i<$zeilen;$i++)
{
$elemente_perm[$i]=mysql_fetch_row($query_handle);
}
mysql_close ($link);
?>
<?php
// ------------- db with user for select ------------------------
$db_handle = mysql_connect ("localhost","...","...")
or die ("Verbindungsversuch ist fehlgeschlagen!");
$erfolg = mysql_select_db ("sage")
or die ("Angegebene Datenbank ist nicht vorhanden!");
$query_handle = mysql_query
("select user_id, user_num, user_cp_fname, user_cp_lname, user_cp_position , user_cp_phone,
user_cp_phone_m, user_cp_fax, user_cp_email, user_comp_name, user_comp_street, user_comp_city,
user_comp_zip, user_comp_country, user_comp_phone_1, user_comp_phone_2, user_comp_fax,
user_comp_email_1, user_comp_email_2, user_comp_web_1, user_comp_web_2, user_name, password, l_user_group_group, l_user_group_id
from user LEFT JOIN l_user_group ON user.user_num = l_user_group.l_user_group_user where user_id = ('$user_id')",$db_handle);
$result = mysql_query($query);
$zeilen = mysql_num_rows ($query_handle);
for ($i = 0; $i<$zeilen;$i++)
{
$elemente=mysql_fetch_row($query_handle);
Ähh ja also das sind ja mehrere Tabellen da muss man auch mehrere Abfragen machen meines Wissen oder aber anscheindend hast du das doch schon fertig ??? oder (war zu faul mir alles durch zulesen)
__________________
Wir sehen uns in der
Programmierer Hölle ;)
ja da hast du recht. aber bisher sind das nur einfache Änderungen. Das soll heissen es gibt immer nur einen intrag pro Feld. Nun will ich aber ein Feld das Mehrfachauswahl zulässt und wo ich dann z.B. wenn ich einen Nutzer drei Gruppen zugeordnet habe auch alle drei aufeinmal in die Db speichern kann. Das klappt bei meinen bisherigen so nicht!!
Ich kann dir den Quellcode per e-mail schicken dabei kann ich dir das dann erklären.
Habe aber noch ein anderes Problem jetzt. ich will eine username und password abfrage machen worüber sich verschiedene User dann für bestimmte Seiten anmelden können und dann bestimmte zugriffsrechte die ich vorher definiere bekommen.
Aber irendwie läuft mit meine Code was falsch!!
Vielleicht kannst du mir helfen!!
<?php
@session_start();
session_register("_10","_09","_08","_07","_06","_05","_04","_03","_02" ,"_01");
$user_password_up = $_POST['user_password'];
$user_username_up = $_POST['user_username'];
?>
<?php print $user_password_up?>
<?php print $user_username_up?>
<?php
// ------------- DB OPEN ------------------------
$db = "sage";
$link = mysql_connect ("localhost","....","....");
if ( ! $link )
die ("keine Verbindung ");
mysql_select_db( $db, $link )
or die ("konnte DB nicht oeffnen" );
// ------------- komplette abfrage ------------------------
// if (isset($password_up) && isset($username_up))
// {
$anfrage_pwd = "SELECT user.user_id, user.user_num, l_user_group.l_user_group_id, l_user_group.l_user_group_user, group_desc.group_desc_num, perm_desc.perm_desc_num, user.user_name, user.password FROM group_desc, user, l_user_group, l_group_perm, perm_desc where user.user_num = l_user_group.l_user_group_user and group_desc.group_desc_num = l_user_group.l_user_group_group and group_desc.group_desc_num = l_group_perm.l_group_perm_group and l_group_perm.l_group_perm_perm = perm_desc.perm_desc_num and user.user_username = '$user_username_up' and user.user_password = '$user_password_up'";
$ergebnis_pwd = mysql_query ($anfrage_pwd);
$zeilen_pwd = mysql_num_rows ($ergebnis_pwd); // line 21
$elemente_pwd = mysql_fetch_row($ergebnis_pwd);// line 22
ich glaube 'fast' es liegt an l_user_group.l_user_group_group
gibt es die Spalte "l_user_group_group" in deiner DB kommt nämlich nur einmal vor muss ich mir nochmal anagucken wenn ich zu Hause bin...
Ist ziemlich groß die Abfrage.. überprüf erstmal alle Tabellen Namen und auf jeden Fall noch die Spalten Namen in den jeweiligen Tabellen..
wahrscheinlich ein Tipfehler?
__________________
Wir sehen uns in der
Programmierer Hölle ;)