AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi einzelnes Wort in SQL ändern
Thema durchsuchen
Ansicht
Themen-Optionen

einzelnes Wort in SQL ändern

Ein Thema von XXcD · begonnen am 9. Feb 2007 · letzter Beitrag vom 11. Feb 2007
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#11

Re: einzelnes Wort in SQL ändern

  Alt 10. Feb 2007, 16:31
Ich will über php ein onclick verfahren machen wenn man ein banner auf meiner website anklickt soll eine php dateiausgeführt werden und zwar der script mit dem sql. Und in dem script soll in einer spalte das 43. wort geändert werden.
  Mit Zitat antworten Zitat
jokerfacehro
(Gast)

n/a Beiträge
 
#12

Re: einzelnes Wort in SQL ändern

  Alt 10. Feb 2007, 16:33
du könntest das jeweilige feld einfach auslesen,
das ganze mit
Delphi-Quellcode:
$vorundnachname=explode(" ",$nameausderdatenbank);
$neuername=$vorundnachname[0].' '.$neuernachname;
mysql_query("UPDATE 'dbSET name='$neuername' WHERE name='$nameausderdatenbank'");
auseinander flücken und den ersten teil des arrays mit deinem neuen string wieder zusammensetzen
und dann das ganze in die db eintragen
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: einzelnes Wort in SQL ändern

  Alt 10. Feb 2007, 17:59
So ein neuer Versuch.

In SQL bzw. einer Function auf dem DB-Server könnte das so aussehen...
SQL-Code:
CREATE FUNCTION func_myreplace (Source VARCHAR(1000),
                                NewWord VARCHAR(20),
                                WordIndex INT)
  RETURNS VARCHAR(1000)
BEGIN
  DECLARE i INT DEFAULT 0;
  DECLARE p INT DEFAULT 0;
  DECLARE g INT DEFAULT 0;
  DECLARE xSource VARCHAR(1000) DEFAULT '';
  IF WordIndex = 0 THEN
    SET xSource = CONCAT(NewWord, ' ', Source);
  END IF;
  WHILE p <= LENGTH(Source) AND WordIndex > 0 DO
    SET p = INSTR(Source, ' ');
    IF p = 0 THEN
      SET p = LENGTH(Source);
    END IF;
    WHILE (p < LENGTH(Source)) AND SUBSTRING(Source, p+1, 1) = ' ' DO
      SET p = p + 1;
    END WHILE;
    SET i = i + 1;
    IF WordIndex = i THEN
      SET xSource = CONCAT(xSource, NewWord);
      SET g = 1;
    ELSE
      SET xSource = CONCAT(xSource, SUBSTRING(Source, 1, p));
      SET p = p + 1;
    END IF;
    SET Source = SUBSTRING(Source, p, LENGTH(Source));
  END WHILE;
  IF WordIndex > 0 THEN
    IF WordIndex <> i+1 THEN
      SET xSource = CONCAT(xSource, Source);
    END IF;
    IF g = 0 THEN
      SET xSource = CONCAT(xSource, ' ', newWord);
    END IF;
  END IF;
  RETURN xSource;
END
Und der Aufruf...
SQL-Code:
UPDATE tabelle
SET spalte = func_myreplace(spalte, 'Neues Wort', 43)
WHERE ...
WordIndex = 0: Neues Wort wird vorne angehängt
WordIndex > Anzahl Wörter: Neues Wort wird hinten angehängt
0 < WordIndex <= Anzahl Wörter: Das n'te Wort wird durch das neue Wort ersetzt

Gruss
Thorsten
  Mit Zitat antworten Zitat
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#14

Re: einzelnes Wort in SQL ändern

  Alt 11. Feb 2007, 21:49
Perfekt!!! Kann ich die funktion denn auch in PHP einbauen???
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: einzelnes Wort in SQL ändern

  Alt 11. Feb 2007, 22:08
Zitat:
Perfekt!!! Kann ich die funktion denn auch in PHP einbauen???
Ja ist ja ne SP
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz