SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 31.07.2004, 19:59:02
Sengi Sengi ist offline
Anfänger
 
Registriert seit: Jun 2004
Ort: Köln
Beiträge: 11
Sengi eine Nachricht über ICQ schicken
Problem mit Ersetzen von Zeichen

Schönen Samstag euch allen :)

Ich quäle mich schon seid einigen Stunden mit folgendem Problem rum:

Ein Array ist gefüttert mit folgenden Werten: :),:(,:keks:,:shock,8-)
und trägt den Namen smile_code.
Ein zweiter Array beinhaltet die passenden Urls für die Grafiken der Smilies.

So folgender String muss bearbeitet werden:

PHP-Code:
$string=":) Test Bei mir klappt rein gar nichts :("
Um jetzt den Smile Code gegen die passende Url zu tauschen versuche ich folgendes:

PHP-Code:
$string=str_replace($smile_code,$smile_url,$string); 
Das klappt aber leider nicht. Der String bleibt unverändert.

Die beiden Arrays beinhalten ca. 300 Einträge und werden aus ner DB eingelesen.

Habe es auch schon mit anderen Funktionen versucht wie mit
PHP-Code:
preg_match() 
, aber ich bekomm das einfach nicht hin...

Vielleicht hat ja jemand von euch eine kleine Idee die mir weiter helfen könnte.


greetz Sengi
Mit Zitat antworten
  #2  
Alt 31.07.2004, 20:10:44
René_M René_M ist offline
Junior Member
 
Registriert seit: Aug 2003
Ort: Fürstenau (Uckermark, Land Brandenburg)
Beiträge: 259
Zitat:
Original geschrieben von Sengi

Die beiden Arrays beinhalten ca. 300 Einträge und werden aus ner DB eingelesen.
Mit den beiden Arrays meinst du $smile_code und $smile_url ?

Poste mal den Code wie du aus den Werten aus der DB die beiden Arrays erstellst.
__________________
Gruß
René

lange Weile dann --> Webchess 2003
Mit Zitat antworten
  #3  
Alt 31.07.2004, 20:38:15
Sengi Sengi ist offline
Anfänger
 
Registriert seit: Jun 2004
Ort: Köln
Beiträge: 11
Sengi eine Nachricht über ICQ schicken
hier :
PHP-Code:
$sql_smile="SELECT
                    code,smile_url
              FROM
                  phpbb_smilies"
;
  
$result_smile=mysql_query($sql_smile) or die(mysql_error());
  
$i=0;
  while(
$row_smile=mysql_fetch_assoc($result_smile)){
     
$smile_code[$i]=$row_smile['code'];
     
$smile_url[$i]=$row_smile['smile_url'];

  }
  
  
$string=str_replace($smile_code,$smile_url,$string); 

hab noch ein paar andere möglichkeiten hier rumfliegen die auch alle nicht funktionieren... aber an diesem script arbeite ich momentan mit der hoffnung dass es vielleicht funktionieren könnte :)
Mit Zitat antworten
  #4  
Alt 31.07.2004, 20:48:37
René_M René_M ist offline
Junior Member
 
Registriert seit: Aug 2003
Ort: Fürstenau (Uckermark, Land Brandenburg)
Beiträge: 259
PHP-Code:
  $i=0;
   while(
$row_smile=mysql_fetch_assoc($result_smile)){
     
$smile_code[$i]=$row_smile['code'];
     
$smile_url[$i]=$row_smile['smile_url'];

  } 
$i ist immer 0 dein jeweiliges Array hat nur ein Element bzw. du überschreibst bei jedem Schleifendurchlauf dieses. Am Ende hast du in dem jeweiligen Array immer nur das letzte Element aus der DB.

Schreibe unter $smile_url[$i]=$row_smile['smile_url'];

$i++;
__________________
Gruß
René

lange Weile dann --> Webchess 2003

Geändert von René_M (31.07.2004 um 20:54:41 Uhr)
Mit Zitat antworten
  #5  
Alt 01.08.2004, 13:05:13
Sengi Sengi ist offline
Anfänger
 
Registriert seit: Jun 2004
Ort: Köln
Beiträge: 11
Sengi eine Nachricht über ICQ schicken
Argh sowas muss mir auch immer im Eifer des Gefechts passieren :)

Dank dir
Mit Zitat antworten
  #6  
Alt 07.01.2007, 06:48:07
FrankyH FrankyH ist offline
Anfänger
 
Registriert seit: Aug 2006
Beiträge: 6
AW: Problem mit Ersetzen von Zeichen

Moin moin, ich hab lange gesucht und diesen Beitrag hier als besten Ansatz herausgesucht, allerdings immer noch keinen Lösungsweg gefunden.
Ich habe ein Datenbank für Farbwerte mit verschiedenen Tabellen. In der Haupttabelle sind jeweils alle möglichen Kombinationen gelistet, mit dem Wert "id" und dem dazugehörigen Farbnamen (farbname).

In allen anderen Tabellen wird die Farbe jeweils als "ral_id" deklariert und nur als Nummer ausgegeben, was sehr blöd ist. Ich benötige nun bei der Abfrage der anderen Tabellen zusätzlich die Ausgabe der entsprechend zugewiesenen ID mit dem Farbnamen als Wort, denn jede Farbe hat auch einen Wortlaut zugewiesen, und id und ral_id sind die selben Werte.
Warum das jedoch nicht in einer einzigen Tabelle steht, ist nicht zu erkennen. Möglicherweise hat das mal jemand hinzugefriemelt...
Ich habe hier mal die beiden Einzelabfragen in eine Datei geklatscht, um zu zeigen was ich meine.


PHP-Code:
<?php
#Abfrage Nummer1
$abfrage_1 'SELECT id, farbname FROM hauptfarben'
$ergebnis_1 mysql_query($abfrage_1) or die( mysql_error() ); 
while(
$row_1 mysql_fetch_array($ergebnis_1)) 

#Ausgabe des ersten Arrays zur Probe
{
echo 
"Farbname : ".$row_1['farbname'].;
echo 
"Farb-ID  : ".$row_1['id'].;
}


#Abfrage Nummer2
$abfrage_2 'SELECT ral_id, anteil_cyan, anteil_magenta, anteil_yellow FROM farbvarianten WHERE anteil_cyan IS NOT NULL AND anteil_cyan != "" '
$ergebnis_2 mysql_query($abfrage_2) or die( mysql_error() ); 
while(
$row_2 mysql_fetch_array($ergebnis_2)) 

#Ausgabe des zweiten Arrays zur Probe
{
echo 
"Farb-ID       : ".$row_2['ral_id'].;
echo 
"Anteil Cyan   : ".$row_2['anteil_cyan'].;
echo 
"Anteil Magenta: ".$row_2['anteil_magenta'].;
echo 
"Anteil Yellow : ".$row_2['anteil_yellow'].;
}
?>

Ist denn der Denkansatz überhaupt richtig, dass man die entsprechende Variable des zweiten Arrays (ral-id) einfach mit der des ersten überschreiben kann? Schätze ja, doch wie genau geht das?
Den Codeschnipsel umstricken hat leider nicht geklappt. Ich bekomme einfach nicht beide Arrays überein und schon gar nicht den Wert der ID als Wort zusätzlich zur ral_id mit ausgegeben.
Auch bin ich mir ncht ganz sicher bezüglich der Abfrage, wäre mysql_fetch_assoc nicht einfacher? Die Beispiele auf php.net sind auch gleich wieder um einiges zu groß für mein Grundwissen. Kann hier irgendwer helfen?

Thx Franky
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:19:10 Uhr.


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


© 2001-2020 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt