Omskrive fra asp til php

Tags:    php asp

<< < 123 > >>
Er der mon en som kan hjælpe mig med at få omskrevet denne kode til php?

Fold kodeboks ind/udPHP kode 




27 svar postet i denne tråd vises herunder
5 indlæg har modtaget i alt 10 karma
Sorter efter stemmer Sorter efter dato

syndes det er lige overkill nok at begynde at læse på PDO eller MySQLi for at oversætte en side.

vist PDO code :), det er helt klar målet på sigt, men denne code er overkill, for en på brugerens niveu IMHO
men vi skal have brugeren væk fra den gamle mysql API/extension, om brugeren så vælger PDO eller eller en af de 2 varianter af mysqli/kombination det er så en smags sag,
personligt vakler jeg mellem mysqli OOP style og PDO


API mysql: det gamle og forældet API, udgår i kommende vertioner af PHP

API mysqli Procedural style: minder meget om det gamle mysql API, dog skal man nu angive connection som første parameter, hvor det før havde default anden parameter
API mysqli OOP style: her codes via OOP principperne,
i API mysqli kan man blande Procedural style og OOP style, men de fleste foretrækker at holde stilen ren

API PDO (PHP Database Object): rent OOP orinteret, man kan forholdsvis nemt skifte databasen fra feks mysql til oracle, næsten uden at ændre noget i php coden, (conmection skla selvføgelig ændres), og man har overholdt sql standarten og ikke brugt noget database specifikt

jeg har lagt din sql i een function
prøv denne
Fold kodeboks ind/udKode 



Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 28.06.2013 16:26 af Bruger #16075

syndes det er lige overkill nok at begynde at læse på PDO eller MySQLi for at oversætte en side.

vist PDO code :), det er helt klar målet på sigt, men denne code er overkill, for en på brugerens niveu IMHO
men vi skal have brugeren væk fra den gamle mysql API/extension, om brugeren så vælger PDO eller eller en af de 2 varianter af mysqli/kombination det er så en smags sag,
personligt vakler jeg mellem mysqli OOP style og PDO


Tænke på den tid vedkommende skulle bruge på at læse op på et af dem versus bare et bruge en færdig stump kode, man behøver jo ikk forstå hvordan koden er sat op, hvis man ved hvordan man skal bruge det. (med mindre man gerne vil være programmør)

3 linjer skulle da lige være til at overkomme
* $database = db::query("SELECT x FROM y WHERE z = :get_z", array(":get_z"=>$_GET["z"]);
* $database->rowCount();
* $database->fetch();

og ja mysql er ude af date ingen tvilv der, men der er jo ikke sådan at siden ikke vil virke hvis valgtet blev mysql.



Wow.....vil altså lige sige mange tak til jer alle sammen for jeres svar.
Det er meget værdsat!!

Bliver helt forvirret over de mange koder osv. så jeg vil glæde mig til at nu hvor jeg har ferie kan sætte mig ned og stille og roligt prøve at finde hoved og hale i det hele.
Håber at jeg få bygget min "gamle asp side" op til at være en rigtig god ny php side.


Puha jeg har meget jeg skal have læst op på.
Jeg er slet ikke lige med på hvad det her API osv. er for noget.
Heldigvis har jeg ferie lige om lidt og så bliver der ekstra tid til at læse på php.

Jeg vender lige tilbage med min sammensatte kode.

Lige nu har jeg forsøgt at fortsætte på min testside med den kode som gav noget resultat.
Jeg har bygget lidt videre på den - men ak, det virker ikke. Hvorfor?

Fold kodeboks ind/udPHP kode 



syndes det er lige overkill nok at begynde at læse på PDO eller MySQLi for at oversætte en side.

hvis du sætter det her inde i Connect.php filen
Fold kodeboks ind/udPHP kode 


og så det her på din side:
Fold kodeboks ind/udPHP kode 


det benytter PDO og sanitizer input (fra din $_GET) sådan man ikke kan lave SQL injections, og syntaxen mindre lidt om MySQL som du brugte til at starte med.

grunden til du fik fejl/blank side før er:
ASP: 'Nu henter vi Mor og id på Mors foældre
PHP: //Nu henter vi Mor og id på Mors foældre

ASP: if vMorId > 0 then
PHP: if vMorId > 0

ASP: vMorNavn = rs("Navn")
PHP: $vMorNavn = $row["Navn"]; //HUSK ; (kan undlades på sidste linje i php, men aldrig midt i et script)

syntax fejl som dette vil dræbe scriptet, og ikke udskrive noget, evt kaste en fejl 500 fra serveren alt efter server-opsætning.


Hvis jeg insætter det i connect filen, så får jeg en fejl 2002?


Jeg forstår ikke hvor jeg kan skal skrive de ting jeg vil hente ud?
Hvis jeg skriver noget på siden under alt det kodede - så kommer det ikke frem på siden?

Så jeg har meget svært ved at se lige nu hvordan jeg skal få det hele til at ende i en php kode der svarer til denne asp:
Fold kodeboks ind/udPHP kode 



Tilføjelse:
Hvis jeg skriver sådan her:
Fold kodeboks ind/udPHP kode 

Så ser det ud til at virke - men så snart jeg vil putte else tingen ind, så får jeg blank side igen!
Fold kodeboks ind/udPHP kode 


Hvorfor er det så lige?




Så er jeg er igen....
Nu har jeg fået noget af det til at virke en lille smule!
Denne kode:
Fold kodeboks ind/udPHP kode 


Giver ikke fejl på siden.
Mit problem er så at den skriver at værdien FarID er = 0
Og det skal den IKKE være på den jeg har testet.
Se testside her: http://www.fuldblodsaraber.dk/Database/Hest3.php?hid=54
Her ved jeg at der er et id i far-feltet. Så den burde skrive et eller andet tal ud og IKKE 0






Indlæg senest redigeret d. 28.06.2013 22:24 af Bruger #17644
Jeg har ændret lidt i den sidste kode. Prøv om det virker denne gang.
Nu tjekker den om hestens id er et tal.
While bliver kun kørt, hvis der er fundet en hest i databasen. Så jeg sætter informationerne til 0 først.
Hvis der bliver fundet en hest. Bliver 0 overskrevet med hesten informationer.

Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 29.06.2013 06:14 af Bruger #10878
Jeg har ændret lidt i den sidste kode. Prøv om det virker denne gang.
Nu tjekker den om hestens id er et tal.
While bliver kun kørt, hvis der er fundet en hest i databasen. Så jeg sætter informationerne til 0 først.
Hvis der bliver fundet en hest. Bliver 0 overskrevet med hesten informationer.

Fold kodeboks ind/udPHP kode 


Men i databasen står der 0 i de felter hvor der ikke er et id tilknyttet far eller mor. Og 0 er jo også et tal.
Så kan det vel ikke gøres på den måde?


Har lige lavet en testside med den kode - og den resultere i en helt blank side.









Indlæg senest redigeret d. 29.06.2013 09:21 af Bruger #17644
Det kan jeg ikke se skulle være skyld i de store problemer.

Når du svarer. Må du meget gerne skrive en ny besked. Så kan vi nemmere se, at du har svaret.

Jeg har smid koden op på min testside. Test
Koden på min testside:
Fold kodeboks ind/udPHP kode 


Jeg har ændret lidt i koden. Så den er nemmere for mig at finde fejl.
Der er 3 linier som du selv skal ændre.

Fold kodeboks ind/udPHP kode 


Fold kodeboks ind/udPHP kode 

Bruger og kode skal udskiftes, med din bruger og kode til MYSQL.
localhost kan udskiftes til 127.0.0.1 hvis nødvendigt.

Fold kodeboks ind/udPHP kode 

'databasen' skal udskiftes med navnet på din database.

Fold kodeboks ind/udPHP kode 

'tabellen' skal udskiftes med navnet på din tabel.



Jamen, så langt så godt. Det kan jeg også få til at fungere.
Så skal jeg bare have bygget videre på den.
Hvis jeg f.eks. skal putte dette på:
Fold kodeboks ind/udPHP kode 


Kan det så skrives (omskrives til php først) lige under her:
Fold kodeboks ind/udPHP kode 



Og så kan jeg ikke rigtigt gennemskue hvordan jeg får det hele skrevet ud som jeg gerne vil have det - nemlig i en tabel?
Jeg skal gerne have forældre osv. skrevet ud i en tabel som i asp koden her:
Fold kodeboks ind/udPHP kode 




hvis du nærlæser mit indlæg fra @ 28.06.13 16:24
har du fået løsningen, dog skal det ikke udlæsses direkte til skærm men til variabler du udlæser nede i din tabel
du kommer til at kalde functionen HentHesteInfo 31 gange med forskellige heste id'er

Fold kodeboks ind/udKode 



Fold kodeboks ind/udKode 


ovenstående linje svare til
Fold kodeboks ind/udKode 

CSS ligger selvføgelig ikke i HTML



linket bør pakkes ind i en funtion, så man kun lave en link, hvis hid > 0
og så er jeg ikke sikker på jeg syntes det er en god ide at åbne en ny fane / windue (target="_blank)


ovenstående løsning er svær at vedligeholde, så man bør tænke i en rekursiv function, der opbygger et multidimitionel associative array, som man efterfølgende udskriver i tabellen.
man må så ud fra dette array kunne skabe tabellen dynamisk.


Fantastisk!
Der var lige noget jeg havde overset.
Det ser ud til at dette virker lige som det skal.
Tusind tak!!! :D



<< < 123 > >>
t