php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.05.2009, 04:07  
Circushund
Gast
 
Beiträge: n/a
Standard Button, SELECT * FROM

Hi,

bin blutiger Anfänger, seht ihr evtl. auch schon an dem Code -obwohl er funktioniert -hähä

Meine Frage nun:
Wie kann ich es bewerkstelligen, einen Button in meinem <Form>-Tag,
beizubringen, alle Kunden aus Tabelle "Kunden" anzuzeigen.
Bzw. das die "while($obj = mysql_fetch_object($data) ).."-Schleife aufgerufen wird?

Und:
Bzgl. Strukturierung:
Ist es evtl. ratsam, eine #_functions.php zu erzeugen und dort alle möglichen Funktionen unter zu bringen, sprich: Alle Kunden anzeigen; Kunden löschen ect..

PHP-Code:
<!-- script -->
<?php

    
include("mysql.inc");
    
$data mysql_query("SELECT * FROM Kunde");

    
$double false;
    
$user $_POST['user'];
    
$pass $_POST['pass'];    
    
    
    while(
$obj mysql_fetch_object($data) ){
        
        
$id $obj->id;
        
$kNr $obj->kundenNr;
        
$pw $obj->password;    
        
        if(
$kNr == $user || $pw == $pass)
            
$double true;    
    
        if(
$kNr == $user)
        echo(
"user gibt es schon<br />");
        
        if(
$pw == $pass)
        echo(
"passw gibt es schon<br />");        
    
    }    
    
    if(!
$double) {
        
        if(!empty(
$user) && !empty($pass)){    
            
//    
            
$sql"INSERT INTO Kunde ( kundenNr, password) VALUES
             ('$user', '$pass' )"
;                  
             
$set mysql_query($sql) or die(mysql_error());    
            echo (
"gespeichert");
        }else{
            echo(
"bitte beide Felder ausf&uuml;lllen!<br /> ");
        }
    }
    else{
        echo (
"n&ouml;");
    }

    
mysql_close($set);
?>
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.05.2009, 07:50  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Beschreibe halt mal, was du erreichen willst, aus deinem Code ist das nicht ersichtlich. Der ist relativ sinnfrei.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 08.05.2009, 08:03  
Circushund
Gast
 
Beiträge: n/a
Standard

lazydog,

guten morgen,

also ich möchte ein einfachen Kunden-Verwaltungs-Bereich realisieren.
Dh. Man soll Kunden anlegen, verändern, löschen usw. können.

Das Ganze soll in eine Tabelle geschrieben werden, mit drei Feldern (fürs Erste)
"id"->Autoschlüssel, "kundenNummer" und "passwort" das wars.

Dabei suche ich eine Möglichkeit, wie ich das am performantesten aufbauen könnte?
  Mit Zitat antworten
Alt 08.05.2009, 08:54  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Um dazu wirklich etwas zu sagen, ist das noch viel zu allgemein. Mach halt ein Menu mit diesen Punkten und ruf dan jeweils ein entsprechendes Formular auf.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 08.05.2009, 09:08  
Circushund
Gast
 
Beiträge: n/a
Standard

ok, ich habs jetz so:
newuser.php:
PHP-Code:

<form method ='post'>
    KundenNr: <input name ='user'>
    Kennwort: <input name ='pass' type ='password'><br/>
    <input type ='submit' name ='newCostumer' value ='  neuer Kunde  '>
    <input type ='submit' name ='allCostumer' value ='Alle Kunden'>
</form>

<?php
    
    
include("#_functions.php");
    
    if( isset(
$_POST['allCostumer']) ) {
            
            
list_costumer();
        
    }
    
    if( isset(
$_POST['newCostumer']) ) {

            
new_costumer();
    }


?>
und: #_functions.php
PHP-Code:
<?php

        
include("mysql.inc");
            

        function 
list_costumer(){
            
            
$data mysql_query("SELECT * FROM Kunde");
            
$double false;
            
$user $_POST['user'];
            
$pass $_POST['pass'];    
            
            echo 
"<form><table id='costumerList'>";
            
            
            while(
$obj mysql_fetch_object($data) ){
        
                
$id $obj->id;
                
$kNr $obj->kundenNr;
                
$pw $obj->password;    
                
                echo (
"<tr>
            
                <td>"
.$id."<td>
                <td>"
.$kNr."<td>
                <td>"
.$pw."<td>        
                <td><input type ='button' name ='$id' value ='l&ouml;schen' ></td>
                </tr>"
);    

            }
            
            echo 
"</table></form>";        
        
        }
...

?>
Nun will ich auf die "name"-Eigenschaft des Buttons zugreifen.
..ich glaub in etwa so:

Code:
if (isset($_REQUEST['submit'])) { ... }
..dh ich muss irgendwie über die id zu dem Datensatz in der DB kommen?

danke für dein Hilfe
  Mit Zitat antworten
Alt 08.05.2009, 09:36  
yab
Erfahrener Benutzer
 
Registriert seit: 05.04.2009
Beiträge: 291
PHP-Kenntnisse:
Anfänger
yab befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Circushund Beitrag anzeigen
Nun will ich auf die "name"-Eigenschaft des Buttons zugreifen.
Die Buttons müssen auch vom Typ submit sein. Den Namen könntest du z.B. als Array mit der ID als Key angeben.
PHP-Code:
echo '<input type="submit" name="delete['.$id.']" value="löschen" />'
yab ist offline   Mit Zitat antworten
Alt 08.05.2009, 09:47  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Circushund Beitrag anzeigen
Nun will ich auf die "name"-Eigenschaft des Buttons zugreifen.
Das hast du ja, auch wenn ich in dem Fall $_POST benutzen würde
Zitat:
Zitat von Circushund Beitrag anzeigen
dh ich muss irgendwie über die id zu dem Datensatz in der DB kommen?
Da brauchst du halt ein Formular, mit dem du die vorhandenen Daten auflistest oder suchst.
Alternativ kannst du natürlich auch die Daten auflisten und bei jeder Zeile einen Ändern- und einen Löschbutton zufügen
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 08.05.2009, 21:34  
Circushund
Gast
 
Beiträge: n/a
Standard

yap,

danke für deinen Tip, geht in die richtige Richtung.
Nur versthe ich nicht ganz, weshalb
PHP-Code:
 .. delete['.$id.'
dh. Punkt-DollarID-Punkt? Wozu die Punkte?
Warum nicht:
PHP-Code:
.. delete[$id
Ich versteh die Zusammenhänge da noch nicht ganz. Der Index eines Arrays (so kenn ich es zumindest) wird doch meistens über einen INT bzw. NUMBER -Datentyp referenziert oder? Wenn es ein String ist, ist es ja ein assoziatives Array!??

Hmm, muss mich daran gewöhnen, programmiere überwiegend in Actionscript
  Mit Zitat antworten
Alt 08.05.2009, 22:32  
Circushund
Gast
 
Beiträge: n/a
Standard

ok, ich habs nun so gelöst (ist so lala??)

PHP-Code:
<td><input type ='submit' name ='delete".$id."' value ='l&ouml;schen' ></td>
</
tr>");    
                
if (isset($_GET['delete'.$id.''])) { 
    echo (" 
click ".$id );

  Mit Zitat antworten
Alt 08.05.2009, 22:46  
yab
Erfahrener Benutzer
 
Registriert seit: 05.04.2009
Beiträge: 291
PHP-Kenntnisse:
Anfänger
yab befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Circushund Beitrag anzeigen
dh. Punkt-DollarID-Punkt? Wozu die Punkte?
Warum nicht:
PHP-Code:
.. delete[$id
Mit den Punkten verknüpft man in PHP Zeichenketten : PHP: String Operators - Manual
Letztendlich, wenn du in den generierten HTML-Quelltext schaust, kommt auch soetwas raus: delete[42]


Zitat:
Zitat von Circushund Beitrag anzeigen
Ich versteh die Zusammenhänge da noch nicht ganz. Der Index eines Arrays (so kenn ich es zumindest) wird doch meistens über einen INT bzw. NUMBER -Datentyp referenziert oder? Wenn es ein String ist, ist es ja ein assoziatives Array!??
In PHP gibt es sowohl nummerische, als auch assoziative Arras (Hash).

----

Kleiner "Verunsicherungs-Exkurs" am Rande (mit den Datentypen nimmt es PHP nicht so genau):
Der Datentyp von GET, POST & COOKIE ist stets STRING, ebenso die Datentypen aus einer DB-Abfrage (außer null), aber als Array-Key "mutiert" er wieder zu einen INT.
PHP-Code:
$test = array('42' => 'huhu'); // Key ist ein String (wird gnadenlos zu INT gecastet)
var_dump($test);
echo 
'<br />';
$test = array(42 => 'huhu'); // Key ist ein INT
var_dump($test);
echo 
'<br />';
$test = array('zweiundvierzig' => 'huhu'); // Key ist und bleibt ein String
var_dump($test); 
Ausgabe:
Code:
array(1) { [42]=> string(4) "huhu" } 
array(1) { [42]=> string(4) "huhu" } 
array(1) { ["zweiundvierzig"]=> string(4) "huhu" }
yab ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
mehrere select count zusammen fassen reddevil82 PHP Tipps 2009 9 03.05.2009 21:45
Wireshark SSL Handshake debugging-Handshake protokoll mittels PHP + Curl brian johnson Off-Topic Diskussionen 0 06.11.2008 11:54
[gelöst] SELECT COUNT(*) FROM SUBSELECT braucht ewig! stefanjann Datenbanken 3 25.02.2008 08:44
select count(*) from tabelle mit AND = fehler ... cytrobic Datenbanken 2 27.07.2006 12:40
php-file wird downgeloadet dws Server, Hosting und Workstations 10 19.04.2006 18:45
SELECT FROM WHERE..AND...OR PHP Tipps 2006 4 14.02.2006 09:59
Select * FROM * WHERE ??? PHP Tipps 2005-2 12 07.10.2005 17:45
Select max() From blablabla PHP Tipps 2005-2 8 07.10.2005 09:27
SELECT * FROM 2 Tabellen - Problem Datenbanken 1 01.09.2005 16:30
Befehlsoptimierung faux Datenbanken 4 31.05.2005 19:11
SELECT * FROM tabelle WHERE DarkThunder PHP Tipps 2005 10 23.04.2005 21:17
Select Feld nicht automatisch zurücksetzen nach Send Button PHP Tipps 2005 5 17.03.2005 16:13
SELECT FROM DB WHERE 2 SACHEN UEBEREINSTIMMEN Datenbanken 3 24.01.2005 15:58
SELECT FROM...WHERE id=(SELECT...) bicpi Datenbanken 4 24.10.2004 10:53
[Erledigt] select ALLES from EGALWOHER where WASAUCHIMMER Datenbanken 1 01.06.2004 11:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql_query(\select from where $id=\$_request[\id\]\\);, php \id als key\ mysql_query array

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:55 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum