php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.04.2005, 09:37  
Erfahrener Benutzer
 
Registriert seit: 19.08.2003
Beiträge: 141
PHP-Kenntnisse:
Fortgeschritten
niffi
Standard DB Einträge mit str_replace ersetzen geht nicht

Hi Leute

hab leider nichts entsprechendes bei der Suche gefunden, deshalb nochmal meine Anfrage:

Ich habe eine DB mit etwa 20 Tabellen und ca. 2 MB Inhalt.
Aufgrund eines Updates möchte ich alle
Tags oder halt Platzhalter entfernen und hab mir das so vorgestellt:

PHP-Code:
<?php
include('includes/inc.dbconf.php');

    
$sql "SELECT k_beginn from pa_konzerte";
    
$abfrage mysql_query($sql);
    
    
$num mysql_affected_rows();
    
    while (
$alle mysql_fetch_array($abfrage)) {
        
    
$alle str_replace("---","");
    
    }
    
    echo 
"$num Datensätze bearbeitet";?>
"---" steht hierbei in der DB und soll durch nichts ersetzt werden.

Ich möchte das gern so machen, das alle entsprechenden Ersetzungen in dieser Datei einfüge und zum schluss das script über die gesamte DB laufen lassen will.

geht das?

problem beim oberen script. er löscht mir alle inhalte in der tabelle, und nicht nur die "---"

gruß, niffi
niffi ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 26.04.2005, 09:43  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

1) fehlt da wohl der UPDATE-befehl den du verwendest
2) $alle ist ein array, und str_replace gibt einen string zurück

mfg
robo47
robo47 ist offline  
Alt 26.04.2005, 09:45  
Erfahrener Benutzer
 
Registriert seit: 19.08.2003
Beiträge: 141
PHP-Kenntnisse:
Fortgeschritten
niffi
Standard

PHP-Code:
<?php
include('includes/inc.dbconf.php');

    
$sql "UPDATE pa_konzerte SET k_beginn = '$k_beginn'";
    
$abfrage mysql_query($sql);
    while (
$alle mysql_fetch_array($abfrage)) {
        
    
$alle str_replace(---, );
    
    }
?>
also so ?
niffi ist offline  
Alt 26.04.2005, 09:46  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

mysql_fetch_arry() gibt, wie dar Name schon sagt, einen Array zurück, auch wenn der nur ein einzelnes Element enthält. Deshalb muss du das Resultat auch so behandeln, z.B.
PHP-Code:
<?php
while (list($alle) = mysql_fetch_array($abfrage)) { 
    
$alle str_replace("---","");

?>
Du kannst das Ersetzen aber auch schon durch die DB machen lassen:
PHP-Code:
<?php
$sql 
"SELECT REPLACE(k_beginn, "---", "") from pa_konzerte"
?>
__________________
Gruss
L
lazydog ist offline  
Alt 26.04.2005, 09:48  
Erfahrener Benutzer
 
Registriert seit: 19.08.2003
Beiträge: 141
PHP-Kenntnisse:
Fortgeschritten
niffi
Standard

und das
PHP-Code:
<?php
<?php 
$sql 
"SELECT REPLACE(k_beginn, "---", "") from pa_konzerte"
?> 

?>
da bekomm ich leider nen "Parse Error"...
niffi ist offline  
Alt 26.04.2005, 10:02  
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 niffi
und das könnte ich ja auch mit allen anderen werte machen die er mir austauschen soll, oder?

er sollte mir aber dann auch eventuell anzeigen, wieviel datensätze er geändert hat, aber das wäre nur schmückendes beiwerk
Mit diesem Code wird natürlich nichts geändert, sondern nur zur Ausgabe bereitgestellt. Wenn du ändern willst, machst du einen entsprechenden UPDATE-Befehl absetzen und mysql_affected_rows() liefert die Anzahl geänderter Sätze:
PHP-Code:
<?php
$sql 
"UPDATE  pa_konzerte
               SET k_begin = REPLACE(k_beginn, '---', '') "

mysql_query($sql) or die("Fehler:
$sql
mysql_error());
$anzahl mysql_affected_rows();
?>
__________________
Gruss
L
lazydog ist offline  
Alt 26.04.2005, 10:05  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

..... vergib ihnen denn sie wissen nciht was sie tun ....

ich weis ja nciht was für grundlagen du hast, aber was du hier machst ist ein rumraten mit irgendwelchen worten. :P

als erstes solltest du dir überlegen, willst du es nur mysql-seitig machen? ist eignetlich der sauberste undschnellste weg

also
1) der UPDATE-befehl, dann du willst ja datensätze ändern
http://dev.mysql.com/doc/mysql/en/update.html

2) schaust du hier mal in der funktionsliste für strings dir replace an
http://dev.mysql.com/doc/mysql/en/string-functions.html

und immer an einer test-datenbnak solche spielchen machen, nie am original

mfg
robo47
robo47 ist offline  
Alt 26.04.2005, 10:09  
Erfahrener Benutzer
 
Registriert seit: 19.08.2003
Beiträge: 141
PHP-Kenntnisse:
Fortgeschritten
niffi
Standard

danke, das hat geholfen und jetzt funktioniert es auch!
niffi ist offline  
 


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
[Erledigt] Suchen &amp; ersetzen - deluxe Fresh PHP Tipps 2008 2 18.07.2008 16:59
String durchsuchen und ersetzen unabhängig von Groß / KLein PHP Tipps 2006 2 09.07.2006 23:29
geschachtelten array sortieren, enter ersetzen und umlaute moose PHP Tipps 2006 5 20.04.2006 12:24
String ersetzen Benshee PHP Tipps 2006 4 02.04.2006 21:43
MySql: Suchen und ersetzen Problem faragerri Datenbanken 5 02.03.2006 15:20
Problem mit der preg_replace - Ersetzen einer Zeichenkette reimondo PHP Tipps 2006 10 07.02.2006 22:36
Anführungszeichen ersetzen PHP Tipps 2005-2 6 28.09.2005 20:39
Mit Javascript Bilder ersetzen Adrenochrom HTML, Usability und Barrierefreiheit 3 31.07.2005 14:19
unbekannten teilstring mit anfang/end-markierung ersetzen janni PHP Tipps 2005 14 29.04.2005 14:53
Suchen - Ersetzen PHP Tipps 2005 4 16.04.2005 22:40
regulärer Ausdruck zum dynamischen ersetzen in einem templat robo47 PHP Tipps 2004 3 02.11.2004 08:25
[Erledigt] includ. Text ersetzen ohne vars PHP Tipps 2004 3 13.09.2004 23:16
templatesystem - variables ersetzen konsti PHP-Fortgeschrittene 6 07.08.2004 10:56
[Erledigt] RegExp: Dynamisches Ersetzen PHP-Fortgeschrittene 5 23.07.2004 13:39
Reguläre Ausdrücke beim suchen und ersetzen Off-Topic Diskussionen 5 05.07.2004 15:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mb str_replace, ergebnis von db abfrage mit str_replace verändern, str_replace update, php mb str_replace, sql suchen und ersetzen str_replace, mb str replace, str_replace funktioniert das auch bei sql oder select, update str_replace, php str_replace ersetze \' durch nix, php str_replace sql update, str_replace sql php, str_replace mysql in zend db, sql suchen und ersetzen in gesamter db, zend framework db strreplace, mysql_query str_replace, suchen und ersetzen in sql gesamte db, mb str _replace, php code mit str_replace austauschen

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