php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.07.2004, 11:02  
Gast
 
Beiträge: n/a
Standard Spaltennamen von Datenbank über Array herausfinden!

Hab da gerade ein Problem und ich weiss nicht, mit welchem Befehl ich das heraus finde. Ich hoffe, Ihr könnt mir dabei helfen! (Bestimmt)

Ich hole mir die Daten über diese Befehlszeilen:
Code:
$query="SELECT * FROM Tabelle WHERE ANWENDER='$Anwender'";
$result=mysql_query($query);
$avar=mysql_fetch_array($result);
echo $avar[1];
er holt sich die daten und gibt den Inhalt von Spalte 1(bzw.der 2Spalte) :wink:
Nun will ich aber gerne wissen, wie heisst die Spalte 1???
Wie oder mit welchem Befehl bekomme ich den Spaltennamen heraus?
Ich hoffe Ihr könnt mir da helfen!

Mega Danke!
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 30.07.2004, 11:05  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

eventuell hilfreich.
http://de2.php.net/manual/de/functio...ist-fields.php
http://de2.php.net/manual/de/functio...field-name.php

ich habe im kopf, dass es auch direkter geht, aber ich kann mich auch irren.
imported_Ben ist offline  
Alt 30.07.2004, 11:09  
Gast
 
Beiträge: n/a
Standard

Das ging ja schnell!
Danke! Es funzt! Jetzt nur mal ne gegenfrage!
Wie geht das jetzt umgekehrt?
Also den Spaltennamen habe ich und wie bekomme ich jetzt raus, welchen Array er dann benutzt? Also anhand meines Beispiels oben,
Spaltenname=Adresse
Spalte=?
 
Alt 30.07.2004, 11:17  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Ich weiss nicht, was die in diesem Fall unter Array verstehst. Falls du damit den Tabellennamen meinst, den findest du nicht über die Attribut-Namen, weil ja jede Tabelle die gleichen Attribute haben kann. Falls du alle in deiner DB enthaltenen Tabellen sehen willst, geht das mit
Code:
SHOW TABLES
__________________
Gruss
L
lazydog ist offline  
Alt 30.07.2004, 11:26  
Gast
 
Beiträge: n/a
Standard

Das hast du falsch verstanden!

Es ist eine Tabelle mit mehreren Spalten sagen wir mal 3Spalten
Spalte 0 heisst dann zum Beispiel: ANWENDER
Spalte 1 - Adresse
Spalte 2 - Bemerkung
Wenn Du das Beispiel von oben siehst und nimmst das jetzt hierfür.

Ich weiss, das es $avar[Adresse] gibt, aber welche Arrayposition nimmt Adresse nun ein? Also als ergebnis müßte er dann 1 zeigen!
Jetzt verständlicher?
 
Alt 30.07.2004, 11:33  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

am beispiel einer icq_liste hab ich dir mal ein beispiel erstellt, welches du eigentlich nur noch anpassen musst.

PHP-Code:
<?php

    
# Verbindung zur Datenbank herstellen

    # Datensätze selektieren
    
$sql "SELECT
                name,
                email,
                icq
            FROM
                icq_list"
;

    
$res mysql_query($sql) or die (mysql_error());
    
    
$i 0;
    while ( 
$Obj mysql_fetch_object($res) )
    {
        
$_fields[$i][0] = $Obj->name;
        
$_fields[$i][1] = $Obj->email;
        
$_fields[$i][2] = $Obj->icq;
        
$i++;
    }
    
    
// Das steht jetzt in dem Array
    
echo "<pre>";
    
print_r($_fields);
    echo 
"</pre>";
    
    for ( 
$i=0$i<count($_fields);$i++ )
    {
        for ( 
$j=0$j<count($_fields[$i]); $j++ )
        {
            echo 
mysql_field_name($res$j) . "&raquo; " $_fields[$i][$j] . "
"
;
        }
        
        echo 
"---- 
"
;
    }
    
?>
leg dir einfach mal eine beispietabelle an:
spalten -> id, name, email, icq

und dann probierst du das mal aus.
oder du wendest es direkt auf deine tabelle an .. auch was nettes
imported_Ben ist offline  
Alt 30.07.2004, 11:37  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Wenn du mysql_fetch_array() ohne zweiten Parameter nimmst, hast du beides in deinem Array, die nummerischen und die assoziativen Indizes. Mach einfach mal
PHP-Code:
echo "<pre>";
var_dump($avar);
echo 
"<pre>"
__________________
Gruss
L
lazydog ist offline  
Alt 30.07.2004, 11:55  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von lazydog
Wenn du mysql_fetch_array() ohne zweiten Parameter nimmst, hast du beides in deinem Array, die nummerischen und die assoziativen Indizes. Mach einfach mal
PHP-Code:
echo "<pre>";
var_dump($avar);
echo 
"<pre>"
Alles gut und schön, aber ich muss mit dem Ergebnis Arbeiten können!
Es zeigt mir zwar alles an, aber ich komme damit nicht weiter.
Ich kann herausfinden, wie heisst Spalte 1, aber das muss doch auch einfacher gehen, wo ist Spalte Adresse ?
An welcher position liegt Adresse?

Ich brauche das, für eine andere Abfrage:
mysql_field_name($result, $avar[Adresse]);
funzt ja nicht! Ich muß stat des Arrays eine Zahl angeben. wobei das ja sowieso nicht gehen kann, da er ja den Wert des Feldes da eintragen will. Aber ich habe das nur mal so geschrieben, damit Ihr wisst, was ich meine!

@Ben:
Ich versuche mal deins, obwohl mir das sehr kompliziert aussieht.
Aber im moment, muß ich alles nachgehen.
Danke erstmal!

Sollte jemand mein verlangen verstanden haben und hat eine kurze Form, meines Problemes, wäre ich sehr dankbar, mir das hier mitzuteiln.

DANKE!
 
Alt 30.07.2004, 12:10  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Weist du denn, was für Felder du abfrägst. Grundsätzlich sollte man ja sowieso nicht
Code:
SELECT * FROM ...
verwenden, sondern die Felder aufzählen. Wenn du also
Code:
SELECT feld1, feld2, feld3, ... FROM ...
angibst, dann hast du die Felder genau in dieser Reihenfolge im Array. Das gilt natürlich auch bei *, aber dort siehst du es nicht. Dann musst du halt eventuell zuerst ein
Code:
DESCRIBE table;
abschicken, um die Reihenfolge herauszufinden.
__________________
Gruss
L
lazydog ist offline  
Alt 30.07.2004, 12:21  
Gast
 
Beiträge: n/a
Standard

Ich weiß, das ich * nicht benutzen sollte, aber in meinem Projekt, was ich da mache, wird oder kommt immer wieder neue Spalten hinzu. Und die werden im Projekt immer abgefragt.
Ich wollte mit dieser Art, mir die Arbeit ersparen, überall, wo ich diese Tabelle abfrage, immer noch einen hinzuzufürgen. und das wird nicht wenig werden. im moment sind es 25 Spalten und es kommen durchaus noch mehr! Das 4 oder 5 Fache bestimmt.
Also ich habe keine lust im Script 3 mal irgendwo 150 Spaltennamen einzugeben! Verstehst du?
Ich wollte mir halt ein Script schreiben, das dieses umgeht.
Schade, das es da keine einfache Lösung gibt.

@Ben:
Ich habe deines Probiert, mit meinem Projekt, aber ioh denke, da komme ich aufs selbe heraus, was ich eigentlich vermeiden wollte!
Dann muß ich halt doch mal sehen, was ich da anders machen kann.
Ich dachte, das es da ein Befehl, wie:
Code:
$a=mysql_???(Spaltenname); //$a sagt mir jetzt, wo ist Spalte
 
 


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
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
mehrdimensionales Array als HTML-Formular mindhead PHP Tipps 2008 3 11.04.2008 15:25
Array Inhalte in eine Datenbank über tragen Munsi1 PHP Tipps 2008 5 11.04.2008 13:28
Kategoriedaten rekursiv in Array bringen Schiedsrichter PHP Tipps 2008 2 10.12.2007 15:43
ARRAY: alle möglichen Kombinationen Tentacle PHP Tipps 2006 13 12.05.2006 00:18
Verschachteltes Array: Daten auswählen horstenpeter PHP Tipps 2006 8 14.03.2006 00:12
Problem mit array in Datenbank pixelcut PHP-Fortgeschrittene 3 28.02.2006 18:20
Bilder aus Datenbank - Array auswählen und anzeigen horstenpeter PHP Tipps 2006 6 22.01.2006 21:11
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
array in datenbank und zurück auchegal PHP Tipps 2007 1 13.11.2005 21:25
Mit Array Datenbank abrufen PHP Tipps 2005-2 3 06.10.2005 14:36
Besser Programmieren (!?) PHP Tipps 2005 12 04.05.2005 20:46
Was ist schnelle: Array oder Datenbank? CSS PHP Tipps 2005 4 15.03.2005 17:50
Mehrere Daten aus Datenbank in einen Array legen?!? PHP Tipps 2004 16 17.08.2004 00:53
assoziatives Array aus 2 Spalten aus Mysql-Tabelle PHP Tipps 2004 2 14.06.2004 13:46

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php datenbank spalten name, sql spaltennamen herausfinden, sql tabellen spalten herausfinden, datenbank spaltenname, sql daten aus datenbank herausfinden, php spaltenname, http://www.php.de/php-tipps-2004/6000-spaltennamen-von-datenbank-ueber-array-herausfinden.html, spalten in db herausfinden, spalten einer datenbank herausfinden, php spaltennamen einer datenbank, sql attribute namen herausfinden, sql sapltentitel herausfinden, sql tabellen spaltennamen herausfinden, er holt \name\ aus der datenbank nicht inhalt der spalte, php array als sql spalten, php datenbank spaltenname, datenbank spalte in array sql, php spalte in array datenbank, array spaltenüberschrift php, sql spaltenname rausfinden

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:46 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.