Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

PHP - Wert wird leider als String und nicht als Zahl ausgegeben

Frage Entwicklung PHP

Mitglied: RolandAMS

RolandAMS (Level 1) - Jetzt verbinden

20.05.2007, aktualisiert 21.05.2007, 12023 Aufrufe, 8 Kommentare

namd

in der Mitte des Skripts bekomme ich bei -->echo "$rdawert"; eine Fehlermeldung:
01.
Catchable fatal error: Object of class stdClass could not be converted to string.
Weiß jemand wie ich $rdawert als Zahl ausgeben kann um damit ggf. noch weiterzurechnen?!?!
01.
echo "Textausgabe test.php funkioniert..."
02.
echo "inluding dbconnect.php:"
03.
include("dbconnect.php"); 
04.
$folgeglied=1; 
05.
while ($folgeglied<10) 
06.
07.
//Abfrage des Produktnamens   
08.
  $abfrage_name = "SELECT name FROM `produkttabelle` where id=$folgeglied;"
09.
  $ergebnis1 = mysql_query($abfrage_name); 
10.
  while($row = mysql_fetch_object($ergebnis1)) 
11.
12.
    echo "<br><br><h1>$folgeglied. "
13.
    echo $row->name;    //Ausgabe 
14.
15.
    echo "</h1>"
16.
//Abfrage des VitaminA-Gehaltes und deren Anteils bezüglich RDA 
17.
  $abfrage_rdawert = "SELECT bedarf_mg FROM `stofftabelle` where id=$folgeglied;"
18.
  $ergebnis_rdawert = mysql_query($abfrage_rdawert); 
19.
  $rdawert = mysql_fetch_object($ergebnis_rdawert); 
20.
  echo "$rdawert"
21.
   
22.
   
23.
  $abfrage_vit_a = "SELECT a, (a/($rdawert/100)) AS prozent_von_rda FROM `produkttabelle` where id=$folgeglied;"
24.
  $ergebnis2 = mysql_query($abfrage_vit_a); 
25.
  while($row = mysql_fetch_object($ergebnis2)) 
26.
27.
    echo "<br><br><b>Anteil an Vitamin A:</b>\n "
28.
    echo $row->a;        //Ausgabe 
29.
    echo "<br><br><b>Prozent RDA:</b>\n "
30.
    echo $row->prozent_von_rda;        //Ausgabe 
31.
32.
  $folgeglied++; 
33.
  }
Danke!
Roland
[Edit masterG]
Thread geschlossen, weil keine Antworten mehr gebraucht werden![/EDIT]
Mitglied: Dani
20.05.2007 um 23:32 Uhr
G' Abend!
Ich seh den Fehler in 1km Entfernung!

Du erzeugst ja ein Object!! Somit kannst du auch nur mit dem Objektoperator zugreifen.

Bisher:
01.
$rdawert = mysql_fetch_object($ergebnis_rdawert); 
02.
echo "$rdawert";
Soll:
01.
$rdawert = mysql_fetch_object($ergebnis_rdawert); 
02.
echo $row->bedarf_mg;
So müsste es nun gehen.


Gute Nacht
Dani
Bitte warten ..
Mitglied: RolandAMS
21.05.2007 um 00:18 Uhr
hab die änderung vorgenommen, aber er zeigt mir leider keinen wert für bedarf_mg an bzw. kann ich den inhalt nicht benutzen, um damit weiterzurechnen.

ich habe 10 produkte, eine reihe von stoffen, und das in 2 tabellen. ich habe das ja als whileschleife konstruiert. das skript geht jedes produkt durch und soll:
1. die allgemein täglich benötigte dosis an vitamin A ausgeben,
2. die anteilsmenge zb an vitamin A in 100g des produktes ausgeben, und
3. die prozentzahl ermitteln und ausgeben in wie fern 100g vom produkt die tagesdosis erfüllen. da liegt das problem. im skriptbeispiel steht die formel dafür: (a/(8/100)) /wobei hier 8mg die tagesdosis für vitamin a darstellt. wie kann ich es erreichen, dass er sich den wert 8, etc.. aus der stofftabelle raussucht?!

DANKE! das wäre eine super hilfe - wollte meinen ernährungsplan so auf die beine stellen =)
Bitte warten ..
Mitglied: Dani
21.05.2007 um 07:50 Uhr
Moin,
SELECT bedarf_mg FROM `stofftabelle` where id=$folgeglied;
Bist du sicher, dass das obige Statment auch etwas ausgibt?!


Gruß
Dani
Bitte warten ..
Mitglied: RolandAMS
21.05.2007 um 13:14 Uhr
da ich im phpskript $folgeglied als 1 definiert hab is das statement am ende äquivalent zu 1.

01.
SELECT bedarf_mg FROM `stofftabelle`WHERE id =1;
sql console gibt zurück: bedarf_mg = 0.8

da ist eigentlich kein problem an der stelle... ich hoffe du weißt weiteren rat oder bzw wie ich das ganze ähnlich aufziehen kann.

MFG
ro
Bitte warten ..
Mitglied: 36213
21.05.2007 um 13:49 Uhr
namd

in der Mitte des Skripts bekomme ich bei
-->echo "$rdawert"; eine
Fehlermeldung:
01.
> Catchable fatal error: Object of class 
02.
> stdClass could not be converted to string. 
03.
> 
Weiß jemand wie ich $rdawert als Zahl
ausgeben kann um damit ggf. noch
weiterzurechnen?!?!
01.
> echo "Textausgabe test.php 
02.
> funkioniert..."; 
03.
> echo "inluding dbconnect.php:"
04.
> include("dbconnect.php"); 
05.
> $folgeglied=1; 
06.
> while ($folgeglied<10) 
07.
>   { 
08.
> //Abfrage des Produktnamens   
09.
>   $abfrage_name = "SELECT name FROM 
10.
> `produkttabelle` where 
11.
> id=$folgeglied;"; 
12.
>   $ergebnis1 = mysql_query($abfrage_name); 
13.
>   while($row
14.
> mysql_fetch_object($ergebnis1)) 
15.
>     { 
16.
>     echo 
17.
> "<br><br><h1>$folgeglied
18.
> "; 
19.
>     echo $row->name;    //Ausgabe
Komisch, hier machst Du es richtig...
01.
>     } 
02.
>     echo "</h1>"; 
03.
> //Abfrage des VitaminA-Gehaltes und deren 
04.
> Anteils bezüglich RDA 
05.
>   $abfrage_rdawert = "SELECT bedarf_mg 
06.
> FROM `stofftabelle` where 
07.
> id=$folgeglied;"; 
08.
>   $ergebnis_rdawert = 
09.
> mysql_query($abfrage_rdawert); 
10.
>   $rdawert = 
11.
> mysql_fetch_object($ergebnis_rdawert); 
12.
>   echo "$rdawert";
Und hier flashc. $rdawert ist ein Objekt. Probier mal
var_dump($rdawert); aus, dann siehst Du Deinen Fe ler und wie Du ihn beseitigst.

Danke!
Roland

Bitte!
Bitte warten ..
Mitglied: RolandAMS
21.05.2007 um 14:48 Uhr
danke für die info. als fehlermeldung bekomme ich:

01.
object(stdClass)#1 (1) { ["bedarf_mg"]=>  string(3) "0.8" } 
$rdawert von 0.8 wird somit als string gespeichert. joa ich weiß - in der tabelle ist der wert aber als float eingefügt. gibt es da ne möglichkeit die abfrage so mittels php zu verfassen, dass ein numerischer wert in der variablen $rdawert gespeichert wird?!

danke.
ro
Bitte warten ..
Mitglied: 36213
21.05.2007 um 15:25 Uhr
danke für die info. als fehlermeldung
bekomme ich:

Das ist keine Fehlermeldung.

01.
object(stdClass)#1 (1) { 
02.
> ["bedarf_mg"]=>  string(3) 
03.
> "0.8" } 

$rdawert ist ein Objekt.
Dieses Objekt hat ein "Mitglied", nämlich "bedarf_mg". Diesem ist der Wert "0.8" zugeordnet.
Also schreibe echo $rdawert->bedarf_mg", und er wird 0.8 ausgeben.

Wenn Du damit rechnen willst empfehle ich die Umwandlung des Strings nach float, die im Handbuch ausführlich beschrieben ist.

$rdawert von 0.8 wird somit als string
gespeichert. joa ich weiß - in der
tabelle ist der wert aber als float
eingefügt. gibt es da ne
möglichkeit die abfrage so mittels php
zu verfassen, dass ein numerischer wert in
der variablen $rdawert gespeichert wird?!

danke.
ro
Bitte warten ..
Mitglied: RolandAMS
21.05.2007 um 19:12 Uhr
Dankeschön an alle habs geschafft!
Bitte warten ..
Ähnliche Inhalte
PHP
MySQL-Abfrage mit php: Wert + true bzw. false (2)

Frage von tomolpi zum Thema PHP ...

PHP
PHP: URL kürzen (14)

Frage von michi-ffm zum Thema PHP ...

Microsoft Office
gelöst Excel: Wenn Wert in Spalte A dann kopiere Zeile (8)

Frage von michi1983 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows 7
gelöst BOOTMGR is missing (auch nach bootrec -RebuildBcd) (20)

Frage von Mipronimo zum Thema Windows 7 ...

Router & Routing
Tipps für Router (ca. 100 clients, VPN) (19)

Frage von oel-auge zum Thema Router & Routing ...

Windows Userverwaltung
Windows Freigabe: Zugriff auf alle Ordner trotz Sicherheitseinstellungen (18)

Frage von Pandreas zum Thema Windows Userverwaltung ...

TK-Netze & Geräte
gelöst Convert von TAPI auf CAPI gesucht (13)

Frage von StefanKittel zum Thema TK-Netze & Geräte ...