PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   mysql und php problem (http://www.selfphp.de/forum/showthread.php?t=5897)

schmidt 24.10.2003 18:10:34

mysql und php problem
 
Hallo @all,

ich habe mal wieder ein kleines Problem!

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???

Danke für eure Hilfe im voraus.


mfg

schmidt

FloRos 24.10.2003 18:40:03

Das war glaube ich so:

PHP-Code:

"Update $tabelle Set $var='NEU' Where $dergleiche=$var" 

Verstanden???

schmidt 24.10.2003 18:49:50

nee nicht so ganz!!
ich poste mal den Code dazu!!



<?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);

?>
<FORM METHOD="POST" ACTION="/admin/user/user_desc_up.php?user_id=<?php print $user_id?>">
<b>User ID: <?php print $user_id?> </b>
<br>
<input type="hidden" name="user_id" value="<?php print $user_id?>">
User Number:
<br>
<input type="text" name="user_num" size="10" value="<?php print $user_num?>">
<br>
Contact Person First Name:
<br>
<input type="text" name="user_cp_fname" size="50" value="<?php print $user_cp_fname?>">
<br>
Contact Person Last Name:
<br>
<input type="text" name="user_cp_lname" size="50" value="<?php print $user_cp_lname?>">
<br>
Contact Person Position:
<br>
<input type="text" name="user_cp_position" size="50" value="<?php print $user_cp_position?>">
<br>
<table bgcolor="#FFFFFF" span class = "body">
<tr>
<td>
Contact Person Phone:
<br>
<input type="text" name="user_cp_phone" size="30" value="<?php print $user_cp_phone?>">
</td>
<td>
Contact Person Cellular Phone:
<br>
<input type="text" name="user_cp_phone_m" size="30" value="<?php print $user_cp_phone_m?>">
</td>
</tr>
</table>
Contact Person Fax:
<br>
<input type="text" name="user_cp_fax" size="30" value="<?php print $user_cp_fax?>">
<br>
Contact Person E-Mail:
<br>
<input type="text" name="user_cp_email" size="50" value="<?php print $user_cp_email?>">
<br>
Company Name:
<br>
<input type="text" name="user_comp_name" size="50" value="<?php print $user_comp_name?>">
<br>
Street:
<br>
<input type="text" name="user_comp_street" size="50" value="<?php print $user_comp_street?>">
<br>
City:
<br>
<input type="text" name="user_comp_city" size="30" value="<?php print $user_comp_city?>">
<br>
<table bgcolor="#FFFFFF" span class = "body">
<tr>
<td>
Zip:
<br>
<input type="text" name="user_comp_zip" size="10" value="<?php print $user_comp_zip?>">
</td>
<td>
Country:
<br>
<select name="user_comp_country">
<option selected><?php print $user_comp_country?></option>
<option>Austria</option>
<option>Denmark</option>
<option>France</option>
<option>Germany</option>
<option>Greece</option>
<option>Italy</option>
<option>Netherlands</option>
<option>Spain</option>
<option>Sweden</option>

</select>
</td>
</tr>
</table>
<table bgcolor="#FFFFFF" span class = "body">
<tr>
<td>
Company Phone 1:
<br>
<input type="text" name="user_comp_phone_1" size="30" value="<?php print $user_comp_phone_1?>">
</td>
<td>
Company Phone 2:
<br>
<input type="text" name="user_comp_phone_2" size="30" value="<?php print $user_comp_phone_2?>">
</td>
</tr>
</table>
Company Fax:
<br>
<input type="text" name="user_comp_fax" size="30" value="<?php print $user_comp_fax?>">
<br>
Company E-Mail 1:
<br>
<input type="text" name="user_comp_email_1" size="50" value="<?php print $user_comp_email_1?>">
<br>
Company E-Mail 2:
<br>
<input type="text" name="user_comp_email_2" size="50" value="<?php print $user_comp_email_2?>">
<br>
Company Web 1:
<br>
<input type="text" name="user_comp_web_1" size="50" value="<?php print $user_comp_web_1?>">
<br>
Company Web 2:
<br>
<input type="text" name="user_comp_web_2" size="50" value="<?php print $user_comp_web_2?>">
<br>
User Name:
<br>
<input type="text" name="user_name" size="30" value="<?php print $user_name?>">
<br>
Password:
<br>
<input type="text" name="password" size="30" value="<?php print $password?>">
<br>
<?php
$query_l_user_group = mysql_query
("select l_user_group_id, l_user_group_user, l_user_group_group from l_user_group where l_user_group_user = ('$user_id')",$db_handle);

$result = mysql_query($query);

$zeilen_l_user_group = mysql_num_rows ($query_l_user_group);

for ($i = 0; $i<$zeilen_l_user_group;$i++)
{
$elemente_l_user_group=mysql_fetch_row($query_l_user_group);

$l_user_group_id = $elemente_l_user_group[0];
$l_user_group_user = $elemente_l_user_group[1];
$l_user_group_group = $elemente_l_user_group[2];
?>

<?php print $l_user_group_id?> <?php print $l_user_group_user?> <?php print $l_user_group_group?><br>
Group Description: <?php print $l_user_group_group?>
<br>
<input type="hidden" name="l_user_group_id" value="<?php print $l_user_group_id?>">
<select name="l_user_group_group<?php print $l_user_group_id?>">
<?php
for ($i_perm = 0; $i_perm<$zeilen_perm;$i_perm++)
{
if ($l_user_group_group == $elemente_perm[$i_perm][1])
{
?>
<option VALUE="<?php print $elemente_perm[$i_perm][1]?>" selected><?php print $elemente_perm[$i_perm][2]?></option>
<?php
}
else
{
?>
<option VALUE="<?php print $elemente_perm[$i_perm][1]?>"><?php print $elemente_perm[$i_perm][2]?></option>
<?php
}
}
?>
</select>
<br>

<?php
}
?>

<p>
<INPUT TYPE="SUBMIT" Name="Submit" VALUE="Save">&nbsp; <INPUT TYPE="SUBMIT" Name="Submit" VALUE="Delete">
</form>
<?php
}
mysql_close ($db_handle);
?>
</td>
</tr>
</table>

FloRos 24.10.2003 19:00:19

Ä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)

schmidt 27.10.2003 09:26:46

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!!

Vielleicht weiß jemand wie das geht!!


mfg

schmidti

schmidt 29.10.2003 16:19:27

Lösung gefunden
 
Ich habe eine Lösung gefunden. Trotzdem danek für deine Hilfe FloRos!


Mfg

schmidti

FloRos 29.10.2003 17:02:17

Verräts du mir auch wie du Sie gefunden hast was du gemacht hast warum es jetzt draußen so kalt ist. und und und ;)

schmidt 29.10.2003 17:27:50

andres Problem
 
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

for ($i_pwd = 0; $i_pwd<$zeilen_pwd;$i_pwd++)
// for pwd open
{
$user_id = $elemente_pwd[0];
$user_num = $elemente_pwd[1];
$l_user_group_id = $elemente_pwd[2];
$l_user_group_user = $elemente_pwd[3];
$group_desc_num = $elemente_pwd[4];
$perm_desc_num = $elemente_pwd[5];
$user_name = $elemente_pwd[6];
$password = $elemente_pwd[7];
}

?>

<?php print $elemente_pwd[0];?> <br>
<?php print $elemente_pwd[1];?> <br>
<?php print $elemente_pwd[2];?> <br>
<?php print $elemente_pwd[3];?> <br>
<?php print $elemente_pwd[4];?> <br>
<?php print $elemente_pwd[5];?> <br>
<?php print $elemente_pwd[6];?> <br>
<?php print $elemente_pwd[7];?> <br>
<?php print $elemente_pwd[8];?> <br>
<?php print $user_id?>

adsfas



es wird mir immer folgender Fehler ausgegeben!!

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/admin/password_org.php on line 21

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/admin/password_org.php on line 22

Gladder 30.10.2003 23:32:52

LÖL, bei den Query wundert mich das nich *G*
PHP sagt Dir genau wo Du suchen musst (in diesem Fall, NUR IN DIESEM LÖL)

MfG,
Gladder

FloRos 31.10.2003 19:05:13

Hi

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?


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:10:42 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.