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, 11996 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.

Mit freundlichen Grüßen
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 ..
Neuester Wissensbeitrag
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (22)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...