php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.03.2005, 10:19  
Gast
 
Beiträge: n/a
Standard Daten aus DB einem eindimensionalen Array zuweisen

Grüß euch.

Habe ein paar Stunden versucht, des Rätsels Lösung zu finden, aber vergebens. Ich versuche Daten aus einer DB einem Array zuzuweisen, aber irgendwie fehlt dabei die Logik:

Code:
$result = mysql_query("SELECT produkt from ws_medikamente");
$content = mysql_fetch_array($result);
Würde ich nun mit einer while-, for-, foreach-Schleife weiter arbeiten, habe ich zwar die einzelnen Werte, aber ich habe diese keinem Array zugewiesen. Und wenn ich's versuche, wird nur der letzte Wert, der durch die Schleife ausgegeben wird, zugewiesen. Ich will's aber folgend haben:

Code:
$ausgabe = array("Wert1", "Wert2", "Wert3"); #Werte aus DB
Ich benötige dieses Verfahren für einen Produktindex.

Hoffe, ihr könnt mir weiterhelfen. DANK!

mfg --> h.
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 28.03.2005, 10:57  
Gast
 
Beiträge: n/a
Standard

Vorschlag:
Code:
$result = mysql_query("SELECT produkt from ws_medikamente");

while ($content = mysql_fetch_array($result))
{
  $produkt[] = $content['produkt'];

  /*
  // oder auch so, wenn du so selectierst: " SELECT id, produkt FROM ..." :

  $produkt[$content['id']] = $content['produkt'];

  // oder auch so wenn du zB so selectierst: " SELECT produkt, preis FROM ...":

  $produkt[$content['produkt']] = $content['preis'];
  */
}

// und dann hier zur Kontrolle dieses:

print '<hr><pre>'; print_r($produkt); print '<hr></pre>';
mfG ~dilemma~
 
Alt 28.03.2005, 12:30  
Gast
 
Beiträge: n/a
Standard

Danke, es funktioniert. By the way: Super, dass du "print_r" eingebaut hast. Folgende Frage: Wo liegt der Unterschied zwischen

- print_r
- printf
- sprintf
- vprintf
- vsprintf

mfg -- h.
 
Alt 28.03.2005, 13:15  
Gast
 
Beiträge: n/a
Standard

Eine Kleinigkeit gibt's noch. Habe nun alle Werte in einem Array. Von diesen Werten benötige ich nur den Anfangsbuchstaben, dh A, B, C, D, etc.

Es kommt aber vor, dass gewisse Anfangsbuchstaben doppelt oder mehrfach vorkommen, ich benötige diese nur einmal, dh kein Buchstabe soll doppelt oder mehrfach vorkommen.

Gibt's da ev. einen Befehl dafür?

mfg --> h.
 
Alt 28.03.2005, 14:31  
Gast
 
Beiträge: n/a
Standard

- print_r
- printf
- sprintf
- vprintf
- vsprintf

lies dir die entsprechenden beschreibungen bei www.php.net durch.

und den Anfangsbuchstaben kriegt man einfach durch die funktion substr()
(ebenfalls bei php.net beschrieben)
 
Alt 28.03.2005, 18:40  
Gast
 
Beiträge: n/a
Standard

Den Anfangsbuchstaben bekomm ich, da gibt's überhaupt kein Problem. Nur kann's passieren, dass ich 3x denselben Anfangsbuchstaben, zB A, A, A, B, C, D, habe. In der Ausgabe soll aber das A nur 1x ausgegeben werden.

Leider komm ich nicht drauf, wie's funktioniert. Bitte um Hilfe!

mfg --> h.
 
Alt 28.03.2005, 19:22  
Gast
 
Beiträge: n/a
Standard

Och büdde, wie wäre es denn mal mit Nachdenken!?
PHP-Code:
<?
$buchstabe 
"";
while (........)
{
     if (
strtolower(substr($row['irgendwas'],0,1)) != $buchstabe)
     {
         
// Neuer Buchstabe am Anfang
         // Ausgeben
        
$buchstabe strtolower(substr($row['irgendwas'],0,1));
        
// Mach sonstwas
     
}
     else
     {
         
// Mach was anderes
     
}
}
?>
Da kann man sogar als Anfänger draug kommen, oder?

Gruß
phpfan
 
Alt 28.03.2005, 19:58  
Gast
 
Beiträge: n/a
Standard

Leider verstehst du mich falsch. Hier einmal der Code mit ein paar Kommentaren:

PHP-Code:
<?php
$result 
mysql_query("SELECT produkt from ws_medikamente");
define("DELIMITER""");

while(
$content mysql_fetch_array($result))
{
    
$letterlist[] = $content["produkt"]; #Alle Produkte werden einem Array zugewiesn
}

function 
fillin($w$n# Wenn ein Buchstabe dann nicht vorkommt, soll er aufgefüllt werden
{
   for (
$i 1$i <= $n$i++)
   {
      echo 
DELIMITER chr((ord($w)) + $i);
   }
}

sort($letterlist); #Array-Inhalt wird geordnet
$oldword "A";
foreach(
$letterlist as $word)
{
   
$word strtoupper(substr($word01));  #Großbuchstabe + 1. Buchstabe vom Wort
   
$next strncasecmp($word$oldword1);
   if (
$next 0fillin($oldword, --$next);
   echo 
DELIMITER "<a href=\"#sort=$word\" style=\"text-decoration: none; color: #000000;\">[b]<u>$word</u>[/b]</a>";
   
$oldword $word;
}
fillin($oldwordstrncasecmp("Z"$word1));

?>
Ich hätte es gern folgend, wenn's möglich wäre:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Leider sieht's aber bei mir folgend aus:

A B C D D D E F G H I J K ...

Ich hoffe, dass mir jetzt jmd. weiterhelfen kann. Bitte euch höflich darum.

mfg --> h.
 
Alt 28.03.2005, 20:04  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Illmatic_001
Leider verstehst du mich falsch.
Nein, ich habe dich nicht falsch verstanden, du hast den Quellcode nicht verstanden. Da werden nämlich die ersten Buchstaben genommen und doppelte ausgefiltert.

Man könnte das aber auch so regeln:

SELECT distinct left(produkt,1) as firstChar from ws_medikamente order by firstChar

Damit kann man sich die ersten Buchstaben sortiert aus der DB holen.

Gruß
phpfan
 
Alt 28.03.2005, 20:39  
Gast
 
Beiträge: n/a
Standard

Ich hab den Code nun umgeändert. Leider bekomm ich folgende Ausgabe zu sehen:

Array ( [0] => [1] => [2] => [3] => ) 

hab's mit print_r($ausgabe) ausgegeben.

Irgendwie fehlt hier was!?!

mfg --> h.
 
 


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
Soapfault: Undefined Property Argi PHP-Fortgeschrittene 0 28.07.2008 11:17
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
Übersicht aus mehrdimensionalem Array erzeugen Crypi PHP-Fortgeschrittene 0 30.01.2006 13:44
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
[JS] Array mit Daten aus txt File füllen HTML, Usability und Barrierefreiheit 3 05.10.2005 09:21
Die SQl Abfrage dem Array zuweisen (mal wieder): Datenbanken 3 23.08.2005 15:39
Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) Buhmann PHP-Fortgeschrittene 4 12.07.2005 14:03
Daten aus einem Array lesen Mano PHP Tipps 2005-2 4 04.07.2005 13:35
[Erledigt] schreiben der ausgelesenen daten in ein array sinnvoll? PHP-Fortgeschrittene 1 02.05.2005 11:42
mehrdimensionales Array mit Daten aus einer DB füllen PHP Tipps 2004-2 9 30.12.2004 19:17
Mehrere Daten aus Datenbank in einen Array legen?!? PHP Tipps 2004 16 17.08.2004 00:53
Daten in einem Array zusammenfassen PHP Tipps 2004 1 23.07.2004 18:33

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
eindimensionalen array zusammenfassen, array wird doppelt ausgegeben, daten aus array zuordnen, daten array zuweisen, warum array zweimal ausgegeben, php array nexter datensatz, select abfrage php array zuweisen, werte aus datenbank in eindimensionales array, eintrag mehrfach zuordnen php, werte aus db in array php, array werte datenbank id zuordnen, my_fetch_row eindimensional, datenbaustein array, php syntax fehler netbeans, mysql_fetch_array eindimensional, array, werte aus db zuweisen, array werte zuweisen html, php werte aus db in eindiminsonales array, php werte aus db in eindiminsionales array, datenbaustein array zuweisen

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