Onlinehighscores mit PHP, MySQL und Blitzbasic

Übersicht BlitzBasic FAQ und Tutorials

Gehe zu Seite Zurück  1, 2, 3  Weiter

Neue Antwort erstellen

Cardonic

BeitragSa, März 03, 2007 16:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Eine Möglichkeit wäre: Du schreibst einen PHP-Script, der auf dem server liegt, den ganzen Datenbankzugriff regelt, die Variabeln ausspuckt und mit BB zugegriffen werden kann.

Ob ein direkter Zugriff auf Datenbanken (z.B. MySQL) mit BB möglich ist, weiss ich nicht. Für BMax gibt es ein Modul dafür.

mfg Cardonic
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet.

CypressArt

BeitragSa, März 03, 2007 22:01
Antworten mit Zitat
Benutzer-Profile anzeigen
andieo hat Folgendes geschrieben:
wie geht das ganze nadersherum? wenn ich zum Besipiel daten aus einer datenbank in bltzbasic verarbeiten möchte? wie kann ich dann daten aus der datenbank in variablen von blitzbasic bringen?


nach langem suchen und googeln:

Voraussetzung:

Die Daten werden mit PHP Seite ausgegeben oder abgerufen. DU hast also ein PHP Script laufen, das dir deine gewünschte werte liefert als Output:

bsp: http://www.hasenfarm.devilsoft.ch/hf_online.php
In diesem Script werden 2 Werte aus ner MySQL DB angezeigt

in B3D kannst du diese Werte auslesen:

Local host$
Local host_tmp
Local stream
InputFile$="http://www.hasenfarm.devilsoft.ch/hf_online.php"

;------------------------------- Den Host aus InputFile$ rausfiltern
host$=Right(inputfile$,Len(inputfile$)-7) ; http:// rausschneiden
host_tmp=Instr(host$,"/")-1 ; Das erste Slash im String suchen und 1 abziehen
host$=Left(host$,host_tmp) ; Den Text bis zu dem ersten Slash-1 kürzen
;------------------------------ TCPStream zum Host öffnen
stream = OpenTCPStream(host$,80);-------- 80 = Port für HTML oder so Wink
WriteLine stream, "GET "+Inputfile$+ " HTTP/1.1"
WriteLine stream, "Host: "+host$
WriteLine stream, ""

While Not Eof(stream)
Wert$ = ReadLine$(stream)
Wend
CloseTCPStream stream

Print Wert$




Weitere String manipulationen sind nun gegeben und du kannst die werte bearbeiten...

greets
(no comment) -> Google Search Bot!!
 

Raptor

BeitragDi, Mai 01, 2007 22:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, erst mal Danke für das sehr informative Tut.

Eine Frage bleibt mit noch unklar:
Wie kann ich die Daten aus der Datenbank mit Blitz abfragen (nicht per Html ausgeben) ?

hier meine PHP

Code: [AUSKLAPPEN]

<?php
mysql_connect("xxxxxxx", "xxxxxx","xxxxx") or die ("1");
mysql_select_db("xxxxxxx") or die ("2");
// abfrage der Daten
$name=$_GET['name'];
// Daten abrufen
$sql="SELECT name FROM highscore ORDER BY punkte DESC";
$ergebnis=mysql_query($sql);
// Daten ausgeben
while ($row=mysql_fetch_object($ergebnis)) {
echo "$row";
}
?>


bb Code:
Code: [AUSKLAPPEN]

name$="peter"

stream=OpenTCPStream("www.xxxxxx.de",80)
If stream=0 Then Print "konnte nicht verbinden" : WaitKey : End

WriteLine stream, "GET /abfrag.php?name="+name$+" HTTP/1.1"
WriteLine stream, "HOST: www.xxxxxxxxx.de"
WriteLine stream, ""

While Not Eof(stream)
DebugLog(ReadLine(stream))
Wend
CloseTCPStream(stream)
Print "Score erfolgreich eingetragen..."
WaitKey
End


Ich gebe den Namen ein und erhalte die Punktzahl.

Funktioniert irgendwie noch nicht so richtig.

Gruß
Raptor

Silver_Knee

BeitragMi, Mai 02, 2007 16:33
Antworten mit Zitat
Benutzer-Profile anzeigen
was meinst du mit nicht mit html ausgeben??? wie denn sonst? du gibst die infos vom php-script über echo "blabla" un den stream und ließt sie bei bb aus indem du die reihen markierst (so hab ich das geregelt): php-Code: [AUSKLAPPEN]
.....
while.....{
echo "[name]".$row['name']."\n"
}

Puccini

BeitragMo, Jul 02, 2007 17:28
Antworten mit Zitat
Benutzer-Profile anzeigen
hi,

ich bin auch grad dabei mit php und mysql etwas rumzuspielen!

jetzt meine frage:

Get is ja etwas unsicher, daher hab ich mich in meinem php-scrip für post entschiedne! nun meine frage:

wie übergeb ich jetzt aus bb eine variable an das script??
hier die zeile in php zur abfrage der variable:
Code: [AUSKLAPPEN]
myquery=$_POST['abfrage'];

wie muss ich das jetzt in bb bewerktstelligen??
writeline stream,?????

EDIT:

oki, ich habs hinbekommen:
PHP:
Code: [AUSKLAPPEN]
$daten=getenv("HTTP_meineVariable");
echo $daten;

BB
Code: [AUSKLAPPEN]
WriteLine stream, "meineVariable: die Daten der Variable"
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM
www.ragesoft.de
Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39

biggicekey

BeitragDi, Jul 03, 2007 1:13
Antworten mit Zitat
Benutzer-Profile anzeigen
scheinbar ist die seite mit dem tutorial von ofenrohr down. könnte mir jemand dieses tutorial zuschicken ooder mal hier im archiev hochladen? wäre nett.
dankeschön
gruß icekey
#45 www.icekeyunlimited.de www.starcrusade.de
Gewinner BCC#17 !!! mit dotkiller
Nothing more to register - you've cleaned us out![/size]

Ofenrohr

BeitragMi, Jul 18, 2007 16:54
Antworten mit Zitat
Benutzer-Profile anzeigen
wow, es besteht scheinbar interesse an meinem tutorial. ich habe das tutorial noch auf meinem pc. meinen webspace kann ich jetzt aber nicht mehr mit dem hosten von dateien belasten.
ich würde mich freuen, wenn mir jemand ein klein wenig space für das tutorial zur verfügung stellt. freehoster verbieten es, ihren space zum hosten von dateien zu benutzen.
die alte mail bei yahoo ist nicht mehr aktuell. neu: admin@ofenrohr.net
ich habe das tutorial ins archiv geladen. ich würde mich trotzdem über ein wenig webspace zum hosten freuen.

mfg ofenrohr
Ofenrohr.net

Justus

BeitragMi, Jul 18, 2007 18:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Ofenrohr,

ich kann dir etwas Space zur Verfügung stellen, wenn du möchtest, schreib mich an sofern du Interesse hast.
Deine eMail-Adresse solltest du hier nicht so reinschreiben, denn wenn das Forum von den entsprechenden Bots gecrawlt wird, hast du dein Postfach direkt wieder voller Spam.

CypressArt

BeitragMo, Sep 17, 2007 20:34
Antworten mit Zitat
Benutzer-Profile anzeigen
hat sich erledigt Wink
 

Mr Hopp

BeitragMo, Nov 05, 2007 21:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie stehts denn jetzt mit dem Link?
Zitat:
Wie poste ich falsch?

Nachdem ich Google, die FAQ's und die Boardsuche erfolgreich ignoriert habe, erstelle ich zwei bis fünf neue Themen, in den falschen Unterforen, mit kreativen Titeln und undeutlichem Text, unter dem sich jeder etwas anderes vorstellen kann.

mabox

BeitragMo, Nov 12, 2007 18:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Im Codearchiv finde ich den Download nicht Sad
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl
Dönerfresser Homepage
 

Mr Hopp

BeitragMi, Nov 14, 2007 16:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Habs nach längerer Suche im Archiv gefunden Wink Weiß leider nichtmehr wo...
Zitat:
Wie poste ich falsch?

Nachdem ich Google, die FAQ's und die Boardsuche erfolgreich ignoriert habe, erstelle ich zwei bis fünf neue Themen, in den falschen Unterforen, mit kreativen Titeln und undeutlichem Text, unter dem sich jeder etwas anderes vorstellen kann.

mabox

BeitragDo, Nov 15, 2007 15:57
Antworten mit Zitat
Benutzer-Profile anzeigen
OK habs gefunden. Für alle die es noch brauchen hier die Links:

Onlinehighscore Tutorial doc
Onlinehighscore Tutorial pdf
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl
Dönerfresser Homepage

CypressArt

Betreff: PHP, MySql, HTML, String,Tabellarisch auslesen

BeitragDo, Mai 01, 2008 13:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Folgendes Problem:

ich lasse mir Daten aus einer DB via PHP anzeigen:
Webseite:
Code: [AUSKLAPPEN]
1,antarktis,m,200,250,10,model_1.b3d
3,afrika,t,140,100,3,model_2.b3d
.....


mit der funktion mit welcher ich die Daten via Stream einlese, zeigt die Funktion alle Werte in einer einzigen Zeile an. Er macht keinen Zeilenumbruch:

Code: [AUSKLAPPEN]
Function readhtml(InputFile$)
   Local host$
   Local host_tmp
   Local stream
   Local file
   ;------------------------------- Den Host aus InputFile$ rausfiltern
   host$=Right(inputfile$,Len(inputfile$)-7) ; http:// rausschneiden
   host_tmp=Instr(host$,"/")-1 ; Das erste Slash im String suchen und 1 abziehen
   host$=Left(host$,host_tmp) ; Den Text bis zu dem ersten Slash-1 k?rzen
   ;------------------------------ TCPStream zum Host ?ffnen
   ;Print host$
   stream = OpenTCPStream(host$,80)
   If stream=0 Then Print "Es konnte keine Internetverbindung (READHTML) hergestellt werden" : WaitKey : End
   WriteLine stream, "GET "+InputFile$+ " HTTP/1.1"
   WriteLine stream, "Host: "+host$ :
   WriteLine stream, ""

   While Not Eof(stream)
   punkt$ = ReadLine$(stream)
   Wend
End Function


Wäre es denkbar:
a) am ende jeder Zeile ein sonderzeichen einzufügen, damit die funktion beim auslesen in die nächste Zeile sprint?
b) den Stream als File lokal zu speichern und dann auszulesen?
c) die anzahl Zeilen am Anfang der PHP ausgabe als Referenz zu nehmen, damit die Funktion weiss wieviele Zeilen folgen und dann sooft die Daten einliest?

DAnke für Feedback, Anregungen oder andere Wege.. Wink
(no comment) -> Google Search Bot!!

Vertex

BeitragMo, Mai 05, 2008 12:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst mit \n einen Zeilenumbruch erzwingen. Den Stream kann man auch lokal speichern, in dem du bspw. WriteLine(Datei, ReadLine(TCP)) nimmst.

Zum Abfragen der Einträge gibt es die Count-Funktion:
Code: [AUSKLAPPEN]
$query = "SELECT COUNT(*) AS anzahl FROM Tabelle ".
         "WHERE Bedingung";
if(!$result = mysql_query($query, $db))
{
   echo("fehler");
   mysql_close($db);
}
$row = mysql_fetch_object($result)
echo("Anzahl der Einträge: ".$row->anzahl."\n");


mfg olli
vertex.dreamfall.at | GitHub

CypressArt

BeitragMo, Mai 05, 2008 20:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:

Zum Abfragen der Einträge gibt es die Count-Funktion:
Code: [AUSKLAPPEN]
$query = "SELECT COUNT(*) AS anzahl FROM Tabelle ".
         "WHERE Bedingung";
if(!$result = mysql_query($query, $db))
{
   echo("fehler");
   mysql_close($db);
}
$row = mysql_fetch_object($result)
echo("Anzahl der Einträge: ".$row->anzahl."\n");



die webseite macht mir den umbruch nach dem Wert. Der Umbruch "\n" schreibt es mir aber in den Stream rein. Auch ein <br> anstelle des \n schreibt es mir in den Stream. Die einzige chance die ich im Moment sehe ist, den Stream in B3d mit replace zu bearbeiten und die Zeilenumbrüche manuell rauszufiltern/zu ersetzen. In der Hilfe steht der Wert beim befehl readline, dass er nur bis zum Returnzeichen liest (0Dh). Wo und wie kann ich dieses Steuerzeichen generieren oder abfragen?

Nochmals:
ich kriege eine Stream in einer unbestimmten länge. In diesem Stream sind die werte eines Objektes durch Koma getrennt. Die Werte definieren, wo welches Objekt zu stehen kommt und welches Modell an den Koordinaten plaziert wird. die Werte der einzelnen Objekte sind durch einen Zeilenumbruch (PHP) definiert. Ein spezielles Trennzeichen wäre denkbar als unterteilung. Nach dem letzten Eintrag wird ein "Abschlusszeichen" angehängt, damit B3d Weiss, dass der Stream zu ende ist.

So in der Art:

Code: [AUSKLAPPEN]
...
While Not Eof(stream)
x=x+1 ; -> Zeilenzähler
punkt$= ReadLine(stream)

Pos=Instr(punkt$,",");wo ist das Komma?

l_posX#=Left(punkt$,Pos-1)
      
mitte$=Mid(punkt$,Pos+1,-1)
      
Pos1=Instr(mitte$,",")

l_posY#=Left(mitte$,Pos1-1)
   mitte1$=Mid(mitte$,Pos1+1,-1)
   
Pos2=Instr(mitte1$,","):

l_posZ#=Left(mitte1$,Pos2-1):
   mitte2$=Mid(mitte1,Pos2+1,-1)
   

Pos3=Instr(mitte2$,",")

l_objekt#=Left(mitte2$,Pos3-1):
   

objekt = loadmesh(l_objekt)

POSITIONMESH objekt(x) ,l_posX,l_posY,l_posZ

Wend
(no comment) -> Google Search Bot!!

Silver_Knee

BeitragMo, Mai 05, 2008 21:02
Antworten mit Zitat
Benutzer-Profile anzeigen
was du eigendlich reinschreiben musst ist CHR(13)+CHR(10) das ist ein Zeilenumbruch der von Readline erkannt wird. und sowas wie chr char oder sonstwie wirds in php schon geben

BtbN

BeitragDi, Mai 06, 2008 15:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn dein PHP aus "\r\n" nichts macht, stimmt was mit der installation nicht.
Beachte auch, dass du "" und nicht '' verwendest. '' Können keine Escapes.

Plasma

Betreff: \r\n

BeitragDo, Mai 08, 2008 18:21
Antworten mit Zitat
Benutzer-Profile anzeigen
dieses newline problem hatte ich auch .
hab einfach noch ein leerzeichen drangeschrieben also "\r\n " schon gings

CypressArt

Betreff: nun klappts

BeitragDo, Mai 15, 2008 10:00
Antworten mit Zitat
Benutzer-Profile anzeigen
danke
(no comment) -> Google Search Bot!!

Gehe zu Seite Zurück  1, 2, 3  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic FAQ und Tutorials

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group