php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.08.2008, 21:43  
Benutzer
 
Registriert seit: 15.05.2008
Beiträge: 37
gene befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Searchstring speichern mit counter

Hallo und gleich zur Sache.

Ich habe eine Suche und möchte die eingegebenen Strings in eine Tabelle speichern.

Tabellenaufbau

-id
-string
-counter


id = id

string = der eingegebene suchbegriff

counter = jedes mal wenn der string schon existiert soll er ihn nicht nochmal eintragen sondern einfach den counter +1 hochzählen.

Beispiel:

id = 1
string = hallo (hallo wurde jetzt das 2. mal eingegeben)
counter = 2

Der Counter soll beim ersten Mal auf 1 gesetzt werden.


Das per $_POSt abfangen und eintragen, alles kein Problem jedoch weis ich nicht wie ich es anstellen soll dass er prüft ob der string bereits vorhanden ist und falls ja ihn eben nicht nochmal einträgt sondern nur den counter zum string +1 hochzählt.


Danke für jeden Denkansatz.
gene ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 27.08.2008, 21:49  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Was für eine Datenbanksoftware?
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline  
Alt 27.08.2008, 21:53  
Benutzer
 
Registriert seit: 15.05.2008
Beiträge: 37
gene befindet sich auf einem aufstrebenden Ast
Standard

mysql
gene ist offline  
Alt 27.08.2008, 22:04  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hmm in oracle gibts dafür MERGE, bei mysql müsstest du wohl erst eine select abfrage machen, ob der wert existiert, wenn ja, ein update, wenn nein ein insert
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline  
Alt 27.08.2008, 22:09  
Benutzer
 
Registriert seit: 15.05.2008
Beiträge: 37
gene befindet sich auf einem aufstrebenden Ast
Standard

Ja aber es geht um die Abfrage ob es existiert, ich weis nicht wie ich diese gestallten soll.
gene ist offline  
Alt 27.08.2008, 22:12  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Mach einen UPDATE mit zaehler=zaehler+1, frag dann die affected rows ab und wenn die 0 sind, dann machst du einen INSERT INTO.
Wolla ist offline  
Alt 27.08.2008, 22:45  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Hmm...
Stored Procedures? Dort kannst du auch mit IF-Abfragen arbeiten.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 27.08.2008, 23:37  
Benutzer
 
Registriert seit: 15.05.2008
Beiträge: 37
gene befindet sich auf einem aufstrebenden Ast
Standard

Also ich hab das jetzt so probiert:


PHP-Code:
$sql "SELECT string FROM searchtags WHERE string = '" $q "';";
            
            
$result mysql_query($sql);
            
            if (
mysql_num_rows($result) > 0)
            {
                
$sql "UPDATE searchtags SET counter = +1 WHERE string = '" $q "';";
                            
                
mysql_query($sql);
            }
            
            else 
            {
                
$sql "INSERT INTO
                            seachtags
                                string, counter
                            VALUES
                        ('$q', 1);"
;
                
                
mysql_query($sql);
            } 
Aber irgendie tut er da nichts. Kann ich das überhaupt mit = +1 machen ?
gene ist offline  
Alt 27.08.2008, 23:57  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Wenn schon, dann SET counter += 1. Wobei ich jetzt gerade nicht im Kopf habe, ob MySQL das akzeptiert. Ansonsten SET counter = counter + 1.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 28.08.2008, 00:02  
Benutzer
 
Registriert seit: 15.05.2008
Beiträge: 37
gene befindet sich auf einem aufstrebenden Ast
Standard

Ok jetzt funktioniert der UPDATE aber der INSERT nicht =(

PHP-Code:

$sql 
"SELECT * FROM searchtags WHERE string = '" $q "';";
            
            
$result mysql_query($sql);
            
            while (
$row mysql_fetch_assoc($result))
            {
                if (
mysql_num_rows($result) > 0)
                {
                    
$sql "UPDATE searchtags SET counter = counter +1 WHERE id = '" $row["id"] . "';";
                                
                    
mysql_query($sql);
                }
                
                if (
mysql_num_rows($result) < 1)
                {
                    
$sql "INSERT INTO searchtags
                                (string, counter)
                            VALUES
                                ('$q', '1');"
;
                                
                    
                    
mysql_query($sql);
                }
            
            } 
gene 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] XML ausliefern - ohne Speichern?! Curanai PHP Tipps 2008 6 23.08.2008 01:38
Bild Komprimiert speichern Culutio PHP-Fortgeschrittene 15 18.02.2007 18:54
PDF per PHP - Problem bei "Ziel speichern unter..." freq.9 PHP Tipps 2006 7 18.08.2006 16:54
[Erledigt] Speichern unter... geht nicht!!! PHP-Fortgeschrittene 8 09.02.2006 16:55
ein counter - und berechnungen netti PHP Tipps 2005-2 11 24.10.2005 21:03
Bild (.jpg) mit Link auf Festplatte speichern PsychoEagle PHP Tipps 2005-2 11 16.06.2005 14:54
Bilder speichern statt anzeigen... PHP Tipps 2005 3 25.04.2005 15:22
XML speichern McWolle PHP-Fortgeschrittene 5 04.04.2005 19:38
Counter funktioniert, aber trotzdem wird Fehler gezeigt ... PHP Tipps 2005 4 07.03.2005 17:56
[Erledigt] Emails speichern Datenbanken 1 08.02.2005 20:06
Suche Counter Script Beitragsarchiv 8 17.01.2005 13:42
Counter für registrierte user PHP Tipps 2004-2 3 26.12.2004 11:32
Bild speichern das mit der GDLib erstellt wurde. Stefano PHP Tipps 2004 2 22.09.2004 11:53
Formular in Mysql Datenbank speichern Anuschka Datenbanken 1 15.08.2004 02:55
Problem mit einem Counter JeeZ PHP Tipps 2004 6 18.06.2004 13:36

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
%searchstring% php, php $search[] = string speichern, string mit counter php, searchstring, update id=@zaehler:=@zaehler 1, php search string, speichern mit zähler, speichern mit counter

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