datenbank felder vergleichen neuen wert anzeigen und in db eintragen

hups1803

Erfahrenes Mitglied
hallo
Ich habe folgende Frage:
ich möchte gern das feld user mit den feld usernew vergleichen und neue user die nicht im feld usernew sind anzeigen lassen.
hab es so gemacht das geht auch soweit nur leider träget er nicht den ausgewählten mit der dazugehörigen id sondern immer den ausgewählten nahme und die höchste id in die datenbank ein

ich möchte gerne das man den user auswählen kann und die id und der name dann in die db eingetragen wird oder eben halt alle auswählen mit einen klick.

bitte nochmal um hilfe

PHP:
$usernewentry .= "
<form action='' name='submit' method='POST'>
			<table style='width: 95%;' class='fborder'>
			<tbody>	
			
			<tr>		
<td class='forumheader3'style='font-size:10px;width:25%'>Mitglied auswählen</td>
<td class='forumheader3'style='font-size:10px;width:50%'>
 <ul>";

$sql3 = " SELECT * FROM e107_user
WHERE user_name, user_id  NOT IN (SELECT user FROM e107_mp3_profiles_conf )";   
$res3=mysql_query($sql3);
while($row=mysql_fetch_array($res3))
	{ 
$usernewentry .="<li><input type='text' name='user_id' value='".$row['user_id']."' />	
".$row['user_name']."<input type='checkbox' name='user' value='".$row['user_name']."' />
	</li> ";
	} 

$usernewentry .="</ul>
</td>	
<tr style='vertical-align: top;'><td colspan='2' style='text-align: center;' class='forumheader'>
			<input name='userupdate' value='absenden' type='submit'></td></tr></tbody></table>
			</form>";
 
Hi hups1803

Bitte halte dich an die Netiquette, speziell Punkt 15!

zu deiner Frage:
Ich versteh den Zusammenhang zwischen Frage und deinem Code nicht wirklich. Im Code taucht nirgends "usernew" auf.
Zu dem wäre es hilfreich, wenn du die Tabellenstruktur kurz aufzeigen würdest, um hier mehr Durchblick zu kriegen.

SQL:
SELECT * FROM e107_user
WHERE user_name, user_id  NOT IN (SELECT user FROM e107_mp3_profiles_conf )
Ich kann mir nicht vorstellen, dass dieser Query funktioniert. Du nutzt user_name in der Where-Clause ohne jeglichen Vergleich.
 
Hallo,

ich möchte folgendes machen, aus dieser tabelle

Tabellen Name= e107_user:

user.png


komen die Daten .

Hier sollen die Daten rein, wenn sie nicht vorhanden sind .

Tabellen Name= e107_mp3_profiles_conf

mp3_profiles_conf.png



also muss ich beide Felder "user_name" aus Tabelle "e107_user" mit Feld "user" aus Tabelle "e107_mp3_profiles_conf" vergleichen das mache ich so :

PHP:
$sql3 = " SELECT * FROM e107_user
WHERE user_name NOT IN (SELECT user FROM e107_mp3_profiles_conf )";   
$res3=mysql_query($sql3);
while($row=mysql_fetch_array($res3))
	{

ich brauche aber aus der Tabelle ,"e107_user" auch die "user_id" passend zum "user_name".

um diese beiden per radio oder checkbox in die Tabelle "e107_mp3_profiles_conf" einzufügen zu können.

Danke für eure Hilfe
 

Anhänge

  • user.png
    user.png
    22,7 KB · Aufrufe: 5
  • mp3_profiles_conf.png
    mp3_profiles_conf.png
    10,3 KB · Aufrufe: 12
Zuletzt bearbeitet:
Hi

Aber du fragst doch schon alle Daten aus der Quelltabelle ab. :confused:
Sicher, dass dein Problem mit der Datenbank zu tun hat? Wenn ja hab ich es immer noch nicht verstanden, sorry.

Oder ist es im Php-Forum vielleicht besser aufgehoben
 
jo ich habe mit mysql die daten abgefragt nun kommt aber mein problem siehe Anfangsthread

ich kann nicht den user namen mit der passenden id versenden irgendwie wird nicht die richtige id mit über mittelt.

PHP:
$usernewentry .= "
<form action='' name='submit' method='POST'>
            <table style='width: 95%;' class='fborder'>
            <tbody>    
            
            <tr>        
<td class='forumheader3'style='font-size:10px;width:25%'>Mitglied auswählen</td>
<td class='forumheader3'style='font-size:10px;width:50%'>
 <ul>";

$sql3 = " SELECT * FROM e107_user
WHERE user_name, user_id  NOT IN (SELECT user FROM e107_mp3_profiles_conf )";   
$res3=mysql_query($sql3);
while($row=mysql_fetch_array($res3))
    { 
$usernewentry .="<li><input type='text' name='user_id' value='".$row['user_id']."' />    
".$row['user_name']."<input type='checkbox' name='user' value='".$row['user_name']."' />
    </li> ";
    } 

$usernewentry .="</ul>
</td>    
<tr style='vertical-align: top;'><td colspan='2' style='text-align: center;' class='forumheader'>
            <input name='userupdate' value='absenden' type='submit'></td></tr></tbody></table>
            </form>"; 

// eintragen

if (isset( $_POST['userupdate'] ))
{				
$user= ( @get_magic_quotes_gpc() ) ? $_POST['user'] : @addslashes($_POST['user']);
$user_id= ( @get_magic_quotes_gpc() ) ? $_POST['user_id'] : @addslashes($_POST['user_id']);
$mp3_userclass= ( @get_magic_quotes_gpc() ) ? $_POST['mp3_userclass'] : @addslashes($_POST['mp3_userclass']);

/* DB Insert */
	$mysql = new db();
	$mysql->db_Connect($mySQLserver, $mySQLuser, $mySQLpassword, $mySQLdefaultdb);
	$rtn =$mysql->db_Insert("mp3_profiles_conf", "  '','$user','false','$user_id'");
}//end isset

wenn ich mir das Ergebniss im browser anschaue passt alles auch die id wird im inputfeld angezeigt , nur beim absenden nimmt er dann nicht die richtige id .

zb user 1 hat id 3
und user 2 die id 200

wenn ich jetzt nur user 1 mit id 3 markiere steht in der db user 1 id 200 statt 3?

Das versteh ich nicht warum er das so macht.

Wenn ich beide anklicke erscheint nur user 2 mit id 200 in der db .
 
Dein Problem ist, das du alle Werte der DB in eine Variable schreibst und diese sich quasi immer wieder überschreibt.
Versuch mal folgendes:
PHP:
while($row=mysql_fetch_array($res3)){ 
   "<li>
        <input type='text' name='user_id[]' value='".$row['user_id']."' />    
        ".$row['user_name']."
         <input type='checkbox' name='user[]' value='".$row['user_name']."' />
    </li> ";
    }

das [] nach dem user bzw user_id sagen dem Script, das du die Werte in einem Array speicherst.
 
Zurück