PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   datansatz in eine DB hinzufügen über ein select feld (http://www.selfphp.de/forum/showthread.php?t=12710)

RSA 25.02.2006 16:38:52

datansatz in eine DB hinzufügen über ein select feld
 
Hallo Freunde!
ich bin ziemlich verzweifelt weil z.Z nix funktioniert deshalb brauche ich eure hilfe wenns geht. Also folgendes : ich möchte eine buddy liste realisieren. Meine idee ist das ich 2 select felder habe. Im 1. feld stehen alle user vom forum und im 2. füge ich meine buddys ein über einen submit button. Ich hab in meiner DB eine neue tabelle user_friend wo später meine buddys reinkommen werden.


hier mein code:

PHP-Code:


<?php
$host 
"localhost";
$user "root";
$pass "";
$dbase "phpbb";

$link mysql_connect($host,$user$pass);

if (!
$link) {
    die(
'keine Verbindung möglich: ' mysql_error());
}

mysql_select_db($dbase) or die("Auswahl der Datenbank fehlgeschlagen");

$query "SELECT user_id,username 
          FROM phpbb_users
          ORDER BY username ASC"
;

$result mysql_query($query) or die("Anfrage fehlgeschlagen: " mysql_error());

while (
$row mysql_fetch_assoc($result)) 
{

    
$username.= "<option value=\"{$row["user_id"]}\">{$row["username"]}</option>\n";

}


mysql_close($link);
?>
<?php

function buddy(){
    
    if (
$click){
    
    
$links mysql_connect($host,$user$pass);
    
    if (!
$links
    {
            die(
'keine Verbindung möglich: ' mysql_error());
    }

    
mysql_select_db($dbase) or die("Auswahl der Datenbank fehlgeschlagen".mysql_error());

    
$query "INSERT INTO phpbb_user_freund(user_id,user_name_friend) VALUES(int(11),varchar(15))";
    
    
$eintrag mysql_query($query); 

    
mysql_close($links);
}
    
}
?>
<html>
<u>Online-Buddys</u>
<table border=0>
<tr>
<td>
<form action="<?php  ?>" method="post">
  
    <select name="buddy" size="5" >
    
      <?php 
          
echo $username;
      
?>
      
    </select>
  <input type="submit" name="click" value="mein buddy" />

    <select name="buddy-list" size="5">
    
        <?php  
        
        ?>
    </select>
  
  <br />
  <br />
  </td>
  </tr>
</form>
</table>
</html>


JT 25.02.2006 19:53:05

AW: datansatz in eine DB hinzufügen über ein select feld
 
Hi,

und wo ist jetzt das Problem? Bekommst du eine Fehlermeldung? Das dein INSERT INTO nichts ergibt ist dir bekannt?

RSA 26.02.2006 15:11:27

AW: datansatz in eine DB hinzufügen über ein select feld
 
hi ich würde gerne wissen wie man einfach über ein select feld datensätze in eine DB reinschreiben kann ! bei mir geht das irgendwie nicht. Kannst du oder einen anderer kurz über meinen code schauen? danke


das ist click_form.php

PHP-Code:


 error_reporting
(E_ALL);

include (
'phpbb_db.php');

    


    
$links mysql_connect($host,$user$pass);
    
    if (!
$links
    {    
            die(
'keine Verbindung möglich: ' mysql_error());
    }

    
mysql_select_db($dbase) or die("Auswahl der Datenbank fehlgeschlagen".mysql_error());
    
    
$query "INSERT INTO phpbb_user_freund(user_id,username) VALUES(,)";
    
    
$eintrag mysql_query($query); 

    
mysql_close($links);
    
    
    
//header("Location:index.php"); 

hier der html teil


HTML-Code:


<form action="click_form.php" method="post">
 
    <select name="buddy" size="5">
       
          <?php
                  echo $username;
          ?>

         
    </select>
       
       
  <input type="submit" name="click" value="mein buddy" />

    <select name="buddy_list" size="5">
   
               
        </select>
 
  <br />
  <br />
  </td>
  </tr>
</form>
</table>


JT 26.02.2006 20:08:35

AW: datansatz in eine DB hinzufügen über ein select feld
 
Im INSERT INTO müsstest du halt die Variablen aus dem Form übernehmen, woher die Userid kommen soll, weiß ich aber nicht.

PHP-Code:

$query "INSERT INTO phpbb_user_freund(user_id,username) VALUES(,'" .$_POST['buddy']. ")"


RSA 27.02.2006 18:40:53

AW: datansatz in eine DB hinzufügen über ein select feld
 
Das funktioniert irgendwie nicht!! Wie kann man allgemein über einen select auswahl feld irgendeinen belieben datensatz in eine DB reinschreiben???

kann man bitte bitte jemand einen Bsp. geben???? wäre echt super !

danke

Usul 27.02.2006 21:11:38

AW: datansatz in eine DB hinzufügen über ein select feld
 
warum postest du so viel code, wenn dein problem darin besteht, daten in eine datenbank zu schreiben? wie JT schon beschrieben hat, geht das mit INSERT. teste es doch mal in der SQL-konsole bei PHPAdmin.

ansonsten: http://www.google.de/search?hl=de&q=...le-Suche&meta=

JT 27.02.2006 21:41:13

AW: datansatz in eine DB hinzufügen über ein select feld
 
Woher kommt die UserID? Ist $_POST['buddy'] mit einem Wert gefüllt? Kannst du mit PHPMyAdmin die Abfrage direkt ausführen?

Auch wenn es hier eigentlich um Jet-SQL geht, sollte es auch unter MySQL funktionieren. Nur bei dem Datum bin ich mir nicht sicher, aber es sollte konform sein.

Ändere mal deine PHPDatei wie folgt ab und schaue, was dir der Browser als Antwort zurückgibt:

PHP-Code:

<?php
include ('phpbb_db.php');

$links mysql_connect($host,$user$pass)
    or die(
"Server konnte nicht erreicht werden: " .mysql_error());
mysql_select_db($db,$links)
    or die(
"Die Datenbank wurde auf dem Server nicht gefunden:" .mysql_error());
mysql_select_db($dbase
    or die(
"Auswahl der Datenbank fehlgeschlagen".mysql_error());
    
$query "INSERT INTO phpbb_user_freund(user_id,username) VALUES(1,'" .$_POST['buddy']. "')";
echo 
$query ."<br>";    
echo 
mysql_query($query); 

mysql_close($links);
    
//header("Location:index.php");  
?>

Falls du damit beim echo mysql_query() keine 1 bekommst, wäre der SQL-String interessant zu sehen und zu wissen, welche Datentypen die Felder in der Tabelle haben.

RSA 28.02.2006 10:17:01

AW: datansatz in eine DB hinzufügen über ein select feld
 
hi !

in buddy steckt die user_id und nicht der username! ich möchte aber sowohl die ids als auch die namen in der tabelle user_freund haben geht das? ich weiss nicht was in values eintragen muss! also nochmal : in buddy befindet sich nur die ID und nicht der username

JT 28.02.2006 20:29:44

AW: datansatz in eine DB hinzufügen über ein select feld
 
Also redundantes Speichern von Daten...top. Dafür müsstest du vorher eine Abfrage auf die Tabelle machen, den Namen auslesen und kannst ihn dann in die Anfügeabfrage mit einbauen oder du verwendest ein INSERT INTO mit einem SELECT ... FROM ... WHERE userid = $_POST['buddy'].


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:33:05 Uhr.

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