Det du har der er ikke andet end et eksempel på hvordan man bruger en klasse som ligger i MySQL.php filen som bliver kaldt med require_once Den fil indeholder sandsynligvis kode der kan minde om det mcardle foreslog 07/08-2007 16:04:57
Og hvis jeg vil trække ud via Mysql...Hvordan gør jeg det så? Skal bare være helt sikker på jeg forstår hvert trin :) Lige nu udskriver den "Lad os se om det virker". altså laver den intet udtræk fra databasen.
Koden:
<?php require_once("connect1.php"); $cb1 = new MySQL("select id, fornavn from navn"); $cb2 = new MySQL("select id, efternavn from navn"); ?>
<html> <head> <title>Testing</title> </head> <body> <p>Lad os se om det virker</p> <?= $cb1 ?><br /> <?= $cb2 ?><br /> </body> </html>
Lidt OT: thesurfer, det er da lige i overkanten at kalde det forkert og korrekt. Det er uden diskution en smagssag om det skal være i linje med eller under, hvad syntax angår er begge ting korrekte.
Du kan ikke se hvad den finder i DB fordi du ikke returnerer eller udskriver det nogen steder.. Det skal du til først lave i den while-løkke der var problemet før.. Hvis du vil have en helt enkelt udgave kunne du sætte en echo "<pre>"; print_r($row); echo "</pre>"; ind i den while, det skulle skrive indholdet af det du finder i DB
forøvrigt nu når jeg får kigget ordentligt på din kode så skal du lige kalde funktionen connect også ellers sker der jo ingenting..
Desuden ville jeg nok bruge det mcardle foreslog 07/08-2007 16:04:57 Hvis du er interesseret i et eksempel så kunne du prøve det her: <?php
class sql { var $_conn; var $_queries = array(); var $_activeQuery; /* husk at indsætte de rigtige oplysniner til din database */ function connect(){ $dbhost = "localhost"; $database = "db"; $dbuser = "user"; $dbpass = "pass";
function q($sql_query){ $query = mysql_query($sql_query, $this->_conn) or die(mysql_error()); if($query !== false){ array_unshift($this->_queries, $query); $this->_activeQuery = $query; return true; } return false; } /* Fjernede $q fordi jeg ikke lige kunne regne ud hvorfor den var der */ function a(){ $array = null; if($this->_activeQuery){ $array = mysql_fetch_array($this->_activeQuery, $this->_conn); } return $array; }
Nu har mysli godtnok været fremme med samme sag, men det skal da ikke afholde mig:
thesurfer >> Din kommentar (09/08-2007 01:21:25) og den efterfølgende er ret papnakket! De rangerer på på højde med "det er dumt og forkert at have brun hud" eller "det er dumt og forkert at have engelsk som modersmål".
Der er to 'stilarter' indenfor bracketing. Nogle kodere foretrækker version A, mens andre slet ikke kan få overblik med version A og derfor sværger til version B. Den 'kamp' har raset i årevis og der er absolut intet belæg for at sige, den ene er bedre end den anden - eller at den ene er mere rigtig end den anden. At du foretrækker den ene, gør absolut ikke alle dine medmennesker, der vælger den anden, til idioter!
Når jeg møder en kode med 'din' bracketing, er jeg tæt ved kemisk renset for overblik. Jeg foretrækker helt klart min start-bracket på samme linje som if-betingelsen - eller funktionsnavnet. Det gør jeg ikke fordi, din bracketing er forkert ... det gør jeg fordi, jeg har vænnet mig til den 'min' opstilling.
Her er ikke tale om en valid og en invalid - men om to absolut ligeværdige fremgangsmåder. 'Din' fremgangsmåde giver mening og logik for dig - jeg og mange andre har det lige omvendt. Derfor surfer du langt forbi tredie revle, når du fremstiller os andre som værende dumme og forkert på den, når vi ikke gør sådan, som du tilfældigvis bedst kan lide. Det ligner da ellers ikke dig ;o)
Jeg beklager hvis I fik den ide, at jeg kaldte jer "dumme", "idiot" eller ligende (som olebole skrev), når jeg skrev "forkert" og "rigtigt".
For at få det hele i perpektiv: "forkert" og "rigtigt" blev brugt for at vise hvad meningen var med mit indlæg 09/08-2007 01:19:52.
Min logik siger mig: Hvis noget er stillet "op under" hinanden, kan man nemt se at de passer sammen, hvis man så også laver indrykninger.
Det hjælper nok ikke meget, hvis man stiller brackets under hinanden, hele vejen ned, uden indrykninger..
Jeg vil prøve på at vise min påstand, med et fuldstændigt overdrevet eksempel (overdrivelse plejer at fremme forståelsen), så man (forhåbentligt) ikke kan undgå at se pointen..
Eksempel på "forkert" brug af "under hinanden"-metoden:
function navn() {
if (betingelse) {
for(i = ....) {
while (...) { yay }
et-eller-andet { noget-mere
osvosv {
en masse kode osvosv
}
}
}
}
Her vil det være svært at se, at der faktisk mangler en slut-bracket til "osvosv".
Her er samme eksempel, med brackets på samme linie:
function navn() {
if (betingelse) {
for(i = ....) {
while (...) { yay }
et-eller-andet { noget-mere
osvosv {
en masse kode osvosv
}
}
}
}
Her er det nemmere at se, at der mangler en afsluttende bracket, end første eksempel
Samme eksempel med det jeg kalder en "logisk" struktur:
function navn() {
if (betingelse) {
for(i = ....) {
while (...) { yay }
et-eller-andet { noget-mere
osvosv {
en masse kode osvosv
}
}
}
}
I det sidste eksempel, mener jeg, at man skal gøre sig umage, for ikke at kunne se hvor der mangler slut-bracket.
Jeg bruger "ny-linie-bracket" (kan vi kalde metoden) fordi det er sat logisk op, og ikke fordi jeg er vant til det.. :-)
Men jeg kan godt se, at der kan komme en lang diskution ud af det.. :-)
Man er velkommen til at kontakte mig via intern epost, på http://www.ebruger.dk (gratis at oprette profil), så man ikke spammer spørgsmålet..
PS: Man kan selvfølgeligt også tæller antallet af "{" og "}".. hvis det giver et uligt tal, er der noget galt.. :-)
Jeg kender dig, så jeg havde da også svært ved at foretsille mig, du virkelig mente det sådan ;o)
For mig er det logisk, at selve udtrykket danner begyndelsen på blokken. Dét er for mig logisk sat op - og det giver rigtig god overskuelighed. Sådan har jeg det slet ikke med den sidste ... logik er ikke bare en absolut størrelse ;o)
Jeg har lige et sidste spørgsmål. Kan man gemme det her i en fil, og include den i en anden fil hvor det stadig fungere med at hente data ud?
Eksempel:
connect.php
class sql { var $_conn; var $_queries = array(); var $_activeQuery; /* husk at indsætte de rigtige oplysniner til din database */ function connect(){ $dbhost = "localhost"; $database = "oop"; $dbuser = "root"; $dbpass = "";
function q($sql_query){ $query = mysql_query($sql_query, $this->_conn) or die(mysql_error()); if($query !== false){ array_unshift($this->_queries, $query); $this->_activeQuery = $query; return true; } return false; } /* Fjernede $q fordi jeg ikke lige kunne regne ud hvorfor den var der */ function a(){ $array = null; if($this->_activeQuery){ $array = mysql_fetch_array($this->_activeQuery, $this->_conn); } return $array; }
Det er stort set ligegyldigt hvilken stil man bruger sålænge det er konskvent - kun 1 stil per projekt tak ! Projektet bør have en guide der fortæller hvilken stil der skal benyttes.
Eftersom de andre ikke har svaret på det så vil jeg lige indskyde at der skulle ikke være noget galt i at dele det op som du har gjort 10/08-2007 01:48:33
mht point må du selv kigge på kommentarerne og udbede svar fra dem du mener skal have point
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.