From 55c05c381872149c390701d22a972ba249ddbc31 Mon Sep 17 00:00:00 2001 From: "Harald G. Mueller" Date: Wed, 23 Feb 2022 22:54:51 +0100 Subject: [PATCH] muh --- ...Tag1_M133_ApplikationsentwicklerInnen.docx | Bin 26696 -> 27181 bytes ..._Tag1_M133_ApplikationsentwicklerInnen.pdf | Bin 294101 -> 295101 bytes .../method_exists.html | 175 +++++++++ .../kontroll_mechanismen/break.html | 162 +++++++++ .../kontroll_mechanismen/continue.html | 158 ++++++++ .../kontroll_mechanismen/do_while.html | 161 +++++++++ .../dynamische_variablen.html | 160 +++++++++ .../kontroll_mechanismen/for.html | 163 +++++++++ .../kontroll_mechanismen/foreach.html | 159 ++++++++ .../kontroll_mechanismen/if.html | 211 +++++++++++ .../kontroll_mechanismen/if_else.html | 162 +++++++++ .../kontroll_mechanismen/if_else_elseif.html | 143 ++++++++ .../kontroll_mechanismen/include.html | 165 +++++++++ .../kontroll_mechanismen/include_once.html | 168 +++++++++ .../kontroll_mechanismen/index.html | 95 +++++ .../kontroll_mechanismen/require.html | 170 +++++++++ .../kontroll_mechanismen/require_once.html | 220 ++++++++++++ .../kontroll_mechanismen/switch.html | 159 ++++++++ .../vordefinierte_variablen.html | 187 ++++++++++ .../kontroll_mechanismen/while.html | 188 ++++++++++ .../mail_funktionen/index.html | 65 ++++ .../mail_funktionen/mail.html | 340 ++++++++++++++++++ .../mathematische_funktionen/abs.html | 164 +++++++++ .../mathematische_funktionen/acos.html | 171 +++++++++ .../mathematische_funktionen/asin.html | 173 +++++++++ .../mathematische_funktionen/atan.html | 166 +++++++++ .../mathematische_funktionen/atan2.html | 169 +++++++++ .../base_convert.html | 173 +++++++++ .../mathematische_funktionen/bcadd.html | 165 +++++++++ .../mathematische_funktionen/bccomp.html | 169 +++++++++ .../mathematische_funktionen/bcdiv.html | 167 +++++++++ .../mathematische_funktionen/bcmod.html | 164 +++++++++ .../mathematische_funktionen/bcmul.html | 169 +++++++++ .../mathematische_funktionen/bcpow.html | 173 +++++++++ .../mathematische_funktionen/bcscale.html | 163 +++++++++ .../mathematische_funktionen/bcsqrt.html | 159 ++++++++ .../mathematische_funktionen/bcsub.html | 161 +++++++++ .../mathematische_funktionen/bindec.html | 165 +++++++++ .../mathematische_funktionen/ceil.html | 165 +++++++++ .../mathematische_funktionen/cos.html | 162 +++++++++ .../mathematische_funktionen/decbin.html | 162 +++++++++ .../mathematische_funktionen/dechex.html | 162 +++++++++ .../mathematische_funktionen/decoct.html | 162 +++++++++ .../mathematische_funktionen/deg2rad.html | 162 +++++++++ .../mathematische_funktionen/exp.html | 161 +++++++++ .../mathematische_funktionen/floor.html | 166 +++++++++ .../mathematische_funktionen/getrandmax.html | 169 +++++++++ .../mathematische_funktionen/hexdec.html | 165 +++++++++ .../mathematische_funktionen/index.html | 151 ++++++++ .../mathematische_funktionen/log.html | 164 +++++++++ .../mathematische_funktionen/log10.html | 162 +++++++++ .../mathematische_funktionen/max.html | 170 +++++++++ .../mathematische_funktionen/min.html | 170 +++++++++ .../mt_getrandmax.html | 171 +++++++++ .../mathematische_funktionen/mt_rand.html | 176 +++++++++ .../mathematische_funktionen/mt_srand.html | 170 +++++++++ .../number_format.html | 165 +++++++++ .../mathematische_funktionen/octdec.html | 166 +++++++++ .../mathematische_funktionen/pi.html | 167 +++++++++ .../mathematische_funktionen/pow.html | 166 +++++++++ .../mathematische_funktionen/rad2deg.html | 164 +++++++++ .../mathematische_funktionen/rand.html | 179 +++++++++ .../mathematische_funktionen/round.html | 170 +++++++++ .../mathematische_funktionen/sin.html | 164 +++++++++ .../mathematische_funktionen/sqrt.html | 159 ++++++++ .../mathematische_funktionen/srand.html | 170 +++++++++ .../mathematische_funktionen/tan.html | 167 +++++++++ .../mysql_funktionen/index.html | 129 +++++++ .../mysql_funktionen/mysql_affected_rows.html | 187 ++++++++++ .../mysql_funktionen/mysql_change_user.html | 175 +++++++++ .../mysql_funktionen/mysql_close.html | 181 ++++++++++ .../mysql_funktionen/mysql_connect.html | 200 +++++++++++ .../mysql_funktionen/mysql_create_db.html | 183 ++++++++++ .../mysql_funktionen/mysql_data_seek.html | 217 +++++++++++ .../mysql_funktionen/mysql_db_query.html | 227 ++++++++++++ .../mysql_funktionen/mysql_drop_db.html | 187 ++++++++++ .../mysql_funktionen/mysql_errno.html | 207 +++++++++++ .../mysql_funktionen/mysql_error.html | 225 ++++++++++++ .../mysql_funktionen/mysql_fetch_array.html | 220 ++++++++++++ .../mysql_funktionen/mysql_fetch_field.html | 234 ++++++++++++ .../mysql_funktionen/mysql_fetch_lengths.html | 223 ++++++++++++ .../mysql_funktionen/mysql_fetch_object.html | 224 ++++++++++++ .../mysql_funktionen/mysql_fetch_row.html | 220 ++++++++++++ .../mysql_funktionen/mysql_field_flags.html | 246 +++++++++++++ .../mysql_funktionen/mysql_field_len.html | 219 +++++++++++ .../mysql_funktionen/mysql_field_name.html | 219 +++++++++++ .../mysql_funktionen/mysql_field_seek.html | 219 +++++++++++ .../mysql_funktionen/mysql_field_table.html | 216 +++++++++++ .../mysql_funktionen/mysql_field_type.html | 228 ++++++++++++ .../mysql_funktionen/mysql_free_result.html | 216 +++++++++++ .../mysql_funktionen/mysql_insert_id.html | 260 ++++++++++++++ .../mysql_funktionen/mysql_list_dbs.html | 190 ++++++++++ .../mysql_funktionen/mysql_list_fields.html | 241 +++++++++++++ .../mysql_funktionen/mysql_list_tables.html | 201 +++++++++++ .../mysql_funktionen/mysql_num_fields.html | 218 +++++++++++ .../mysql_funktionen/mysql_num_rows.html | 220 ++++++++++++ .../mysql_funktionen/mysql_pconnect.html | 209 +++++++++++ .../mysql_funktionen/mysql_query.html | 229 ++++++++++++ .../mysql_funktionen/mysql_result.html | 233 ++++++++++++ .../mysql_funktionen/mysql_select_db.html | 188 ++++++++++ .../mysql_funktionen/mysql_tablename.html | 184 ++++++++++ .../pdf_funktionen/index.html | 212 +++++++++++ .../pdf_funktionen/pdf_add_annotation.html | 176 +++++++++ .../pdf_funktionen/pdf_add_bookmark.html | 194 ++++++++++ .../pdf_funktionen/pdf_add_launchlink.html | 169 +++++++++ .../pdf_funktionen/pdf_add_locallink.html | 185 ++++++++++ .../pdf_funktionen/pdf_add_note.html | 177 +++++++++ .../pdf_funktionen/pdf_add_outline.html | 196 ++++++++++ .../pdf_funktionen/pdf_add_pdflink.html | 193 ++++++++++ .../pdf_funktionen/pdf_add_weblink.html | 178 +++++++++ .../pdf_funktionen/pdf_arc.html | 168 +++++++++ .../pdf_funktionen/pdf_begin_page.html | 169 +++++++++ .../pdf_funktionen/pdf_circle.html | 164 +++++++++ .../pdf_funktionen/pdf_close.html | 161 +++++++++ .../pdf_funktionen/pdf_close_image.html | 170 +++++++++ .../pdf_funktionen/pdf_closepath.html | 176 +++++++++ .../pdf_closepath_fill_stroke.html | 177 +++++++++ .../pdf_funktionen/pdf_closepath_stroke.html | 173 +++++++++ .../pdf_funktionen/pdf_continue_text.html | 174 +++++++++ .../pdf_funktionen/pdf_curveto.html | 178 +++++++++ .../pdf_funktionen/pdf_end_page.html | 171 +++++++++ .../pdf_funktionen/pdf_endpath.html | 174 +++++++++ .../pdf_funktionen/pdf_fill.html | 172 +++++++++ .../pdf_funktionen/pdf_fill_stroke.html | 176 +++++++++ .../pdf_funktionen/pdf_get_image_height.html | 176 +++++++++ .../pdf_funktionen/pdf_get_image_width.html | 176 +++++++++ .../pdf_funktionen/pdf_get_parameter.html | 166 +++++++++ .../pdf_funktionen/pdf_get_value.html | 186 ++++++++++ .../pdf_funktionen/pdf_lineto.html | 166 +++++++++ .../pdf_funktionen/pdf_moveto.html | 163 +++++++++ .../pdf_funktionen/pdf_open.html | 161 +++++++++ .../pdf_funktionen/pdf_open_gif.html | 177 +++++++++ .../pdf_funktionen/pdf_open_image_file.html | 182 ++++++++++ .../pdf_funktionen/pdf_open_jpeg.html | 177 +++++++++ .../pdf_funktionen/pdf_open_png.html | 178 +++++++++ .../pdf_funktionen/pdf_open_tiff.html | 176 +++++++++ .../pdf_funktionen/pdf_place_image.html | 176 +++++++++ .../pdf_funktionen/pdf_rect.html | 168 +++++++++ .../pdf_funktionen/pdf_restore.html | 175 +++++++++ .../pdf_funktionen/pdf_rotate.html | 165 +++++++++ .../pdf_funktionen/pdf_save.html | 177 +++++++++ .../pdf_funktionen/pdf_scale.html | 184 ++++++++++ .../pdf_funktionen/pdf_setdash.html | 167 +++++++++ .../pdf_funktionen/pdf_setflat.html | 160 +++++++++ .../pdf_funktionen/pdf_setgray.html | 178 +++++++++ .../pdf_funktionen/pdf_setgray_fill.html | 173 +++++++++ 146 files changed, 25954 insertions(+) create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/klassen_und_objekt_funktionen/method_exists.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/break.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/continue.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/do_while.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/dynamische_variablen.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/for.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/foreach.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/if.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/if_else.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/if_else_elseif.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/include.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/include_once.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/index.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/require.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/require_once.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/switch.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/vordefinierte_variablen.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/while.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mail_funktionen/index.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mail_funktionen/mail.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/abs.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/acos.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/asin.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/atan.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/atan2.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/base_convert.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcadd.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bccomp.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcdiv.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcmod.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcmul.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcpow.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcscale.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcsqrt.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcsub.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bindec.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/ceil.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/cos.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/decbin.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/dechex.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/decoct.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/deg2rad.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/exp.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/floor.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/getrandmax.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/hexdec.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/index.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/log.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/log10.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/max.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/min.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/mt_getrandmax.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/mt_rand.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/mt_srand.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/number_format.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/octdec.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/pi.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/pow.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/rad2deg.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/rand.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/round.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/sin.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/sqrt.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/srand.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/tan.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/index.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_affected_rows.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_change_user.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_close.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_connect.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_create_db.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_data_seek.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_db_query.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_drop_db.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_errno.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_error.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_fetch_array.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_fetch_field.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_fetch_lengths.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_fetch_object.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_fetch_row.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_flags.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_len.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_name.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_seek.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_table.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_type.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_free_result.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_insert_id.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_list_dbs.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_list_fields.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_list_tables.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_num_fields.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_num_rows.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_pconnect.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_query.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_result.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_select_db.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_tablename.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/index.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_annotation.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_bookmark.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_launchlink.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_locallink.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_note.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_outline.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_pdflink.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_weblink.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_arc.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_begin_page.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_circle.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_close.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_close_image.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_closepath.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_closepath_fill_stroke.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_closepath_stroke.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_continue_text.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_curveto.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_end_page.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_endpath.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_fill.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_fill_stroke.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_get_image_height.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_get_image_width.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_get_parameter.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_get_value.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_lineto.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_moveto.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open_gif.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open_image_file.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open_jpeg.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open_png.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open_tiff.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_place_image.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_rect.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_restore.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_rotate.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_save.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_scale.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_setdash.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_setflat.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_setgray.html create mode 100644 m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_setgray_fill.html diff --git a/m133/1_Beurteilungskriterien-und-Projektauftrag/Auftrag_Tag1_M133_ApplikationsentwicklerInnen.docx b/m133/1_Beurteilungskriterien-und-Projektauftrag/Auftrag_Tag1_M133_ApplikationsentwicklerInnen.docx index 5bd4cdd04e147184b55e475e0006763c69d17bf9..bc5bddc5e361126a7a532f86eac3337bf333812c 100644 GIT binary patch delta 9565 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 z%0D{`N8<4Ls8cEfFcp^58zf7{DPdMnQzG@RTbqwEA`TVe4p;T2z^#zBY1+ z^K184PA1eQUZ;v$4}`J7gJZ?YpS<<~``cjwW;8Dv6DICaVq1-|`I&dNeZSjSV{ZVv zY`;@O2-{Bv=URn`Onzg!)dK9FCEdhLJ zCbgXJ3W}_A{-&dk=oa13jOKjVmz{Q=smV(@0`H;9?t)uPCo9lS`jaaM2Bb< zb5ZO7mSbj`1TktdUw~T6SW;zxYf9qYo0f;nNp(h^$~xU*SUP#_l}_P1_fUaBj#1Xv zg~l+5u_=25o{4QG#P6x0iTaJco;zX2dxxX;vK^rCz1AW7K}E)(x0#uOssioQ#F;>< zn{ev*llMznG07jS3_cnGNaQ!JRX@ufo2Z~+$8Pt7MluKFA%R;>lw#zcY12Y#UMU(} zH_!ZVv}q9^;ZL5OD?M7PU6d;if0y4l1!XGfrl?R}lLd1W-QlHLHmb3{EIf-e0qb82w%%_AMQqI2OE-VJXWU(I{|*J-91K}?!ss`T~> z+Mgi8gpw@G>&(R@wxGJ<({Xr4;p84z(1Bwf;w@Lv7ZPnB7C@@UK-s%+e9^k9I3lz>i76mohi5E~Bvz+wy1LqDauOd? zE8I83nOv5X<324^x%ns8L!gkx>`k-_SnY#;|GCJj5vilJ+PyJBLT~~{*5}jYpbi(g zfU6Oef$wN~=IZ7#tB&%U$4<4%9p9nR(Y4NZjk*U!mii}wZ%>Vx_DrQlWo5qS@B;H_y|u$S-@?H zkZ2v8htH~A;UZl4{=tlq`1WiM`{To#h}pjwb%%WvhVHW?H4&(y3ut4_|BBETOtD&z zQdRI}2Uj{e9y5rjIEcb;h+gAMWdFKRPp&jp1R_&Vgb{EA|Kpi9sr#!<+aI`Vq1it{ zeW5=ZwDNix1^>Y8;4p}zF;g`YasgvJl*%^DMwf)y$<{(Ql*hsVw%;CN6yCl^1VN})nd9-j6{S9WRm256XI z?2|z=)qMw0e@5?SAi4~H{Z{9stJ;sW7a>LWu3T{WEtc_pu3%Bg@2y&`5$Z6?QPmp_ zcf^(nW{Dw5KDa)QOE7gY?wy{6!ZM6wFU zbF?xfOzZ+TT^l}^L2vX)^T;(`jA2$jUy!n8qQojtu&$n9WMc_wyBMp**6Plt;jpn1 z_aev%`czHnP@<~Kd|W4@@Z23mYD$m=$9t+mq7ekj*w$}>zOct05E|8Vrr)=(7Fsgt zemMgy_i*F+Wh1A*QU*sUbw}t1!~{6!H;jUZqlI*~`BFuKW9OulWY1%V_>SLP`PF?C zA`LXVA5%nr<%w8*)k(+∾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 XATa)&^B<4i5DaTg2`6mwpXmPp$TlMu diff --git a/m133/1_Beurteilungskriterien-und-Projektauftrag/Auftrag_Tag1_M133_ApplikationsentwicklerInnen.pdf b/m133/1_Beurteilungskriterien-und-Projektauftrag/Auftrag_Tag1_M133_ApplikationsentwicklerInnen.pdf index a04b098eb19fb4b1f52396aa7157b9a849e68b60..67a459a9a30a66b3e9438e287a4b5d7f05eeff3c 100644 GIT binary patch delta 218264 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 z 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 BO_=}y delta 217202 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 k)!=+pvTl43siUYdb+72$TJ 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

J#k;?LG2|W)bm;p1$(r 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
YLkH3f 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�nICWb|(eQJm- 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 z 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 + + +method_exists + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

method_exists

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +
+ + + + + +
bool method_exists(object object, + string method_name)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 4 >= 4.0b2

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit method_exists() kann man überprüfen, ob eine Methode (method_name)
+ innerhalb eines Objekts (obj) definiert ist.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
class database{
function first(){
} + function second(){ + } +} +$klasse = new database; +$array = array("first","database","second"); +for($x=0;$x<count($array);$x++){ + if(method_exists($klasse,$array[$x])) + echo "Das Objekt besitzt die Methode $array[$x] <br>"; + else + echo "Das Objekt besitzt nicht die Methode $array[$x] <br>"; +} +?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

Das Objekt besitzt die Methode first
+ Das Objekt besitzt nicht die Methode database
+ Das Objekt besitzt die Methode second

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + Kontroll-Mechanismen
zurück:zurückSeite + is_subclass_of
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/break.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/break.html new file mode 100644 index 0000000..082d6cc --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/break.html @@ -0,0 +1,162 @@ + + + +break + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

break

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
break[int Sequenz]
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

 

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit break wird die aktuelle for-, while- oder switch-Anweisung abgebrochen + und
+ somit die Schleife verlassen.
+ Da alle drei Parameter bei einer for-Schleife optional sind, kann es zu + dem
+ Umstand kommen, dass ohne eine Iterationsvariable aus der for-Schleife + eine
+ Endlosschleife wird.

+

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
for(;;){
echo $x++ . "<br>";
if($x == 3)break;
}
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

1
+ 2

+
+ + +

 

+ + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + continue
zurück:zurückSeite + Kontroll-Mechanismen
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/continue.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/continue.html new file mode 100644 index 0000000..c1a2cc2 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/continue.html @@ -0,0 +1,158 @@ + + + +continue + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

continue

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
continue
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

 

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit continue kann man einen Schleifendurchlauf abbrechen und zum nächsten
+ Durchlauf übergehen.

+

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
for($x=1;$x<10;$x++){
if ($x % 2)continue;
echo $x . "<br>";
}
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

2
+ 4
+ 6
+ 8

+
+ + +

 

+ + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + do...while
zurück:zurückSeite + break
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/do_while.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/do_while.html new file mode 100644 index 0000000..8337770 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/do_while.html @@ -0,0 +1,161 @@ + + + +do...while + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

do...while

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
do...while
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

 

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Die do...while-Schleife ist der while-Schleife sehr ähnlich, aber + ein
+ entscheidender Punkt sticht hervor. Die Bedingung wird erst am Ende der
+ Schleife überprüft. So wird mindestens einmal die Schleife durchlaufen, + während
+ bei einer While-Schleife die Bedingung am Anfang schon false sein kann + und
+ somit nicht durchlaufen wird.

+

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$var = 0;
do {
echo $var;
} while ($i>0);
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

0

+
+ + +

 

+ + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + Dynamische Variablen
zurück:zurückSeite + continue
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/dynamische_variablen.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/dynamische_variablen.html new file mode 100644 index 0000000..9372ebb --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/dynamische_variablen.html @@ -0,0 +1,160 @@ + + + +Dynamische Variablen + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

Dynamische Variablen

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
$$
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

 

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Oftmals ist es sinnvoll, dynamische Variablen-Bezeichner zu benutzen + und im
+ weiteren Skript zu gebrauchen. Daher kann man innerhalb von PHP einen
+ Variablennamen dynamisch anlegen. Dabei nimmt eine dynamische Variable + den
+ Wert einer anderen Variablen und nutzt diesen als Bezeichner.

+

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$var = "Guten"; // Variable ein Wert zuweisen
$$var = "Tag"; // Bezeichner zuweisen (Guten)
echo "$var ${$var} <br>";
echo "$var $Guten <br>";
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

Guten Tag
+ Guten Tag

+
+ + +

 

+ + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + for
zurück:zurückSeite + do...while
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/for.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/for.html new file mode 100644 index 0000000..db008a0 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/for.html @@ -0,0 +1,163 @@ + + + +for + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

for

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
for
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

 

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit for wird ein Schleifendurchlauf abgearbeitet. Dabei gibt man einen + Start- und
+ einen Endwert ein. Die Schleife endet erst bei Erreichen des Endwertes.
+ Da alle drei Parameter bei einer for-Schleife optional sind, kann es zu + dem
+ Umstand kommen, dass ohne eine Iterationsvariable aus der for-Schleife + eine
+ Endlosschleife wird.

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
for($x=1;$x<15;$x++){
echo "Dieses ist der" . $x . ". Durchlauf <br>";
}
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

Dieses ist der 1. Durchlauf
+ .
+ .
+ Dieses ist der 14. Durchlauf

+
+ + +

 

+ + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + foreach
zurück:zurückSeite + Dynamische Variablen
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/foreach.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/foreach.html new file mode 100644 index 0000000..32a1c2a --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/foreach.html @@ -0,0 +1,159 @@ + + + +foreach + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

foreach

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
foreach
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP4

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Seit der Version 4 ist es nun auch endlich möglich, auf einfache + Weise ein Array
+ auszulesen. Gegenüber einer for-Schleife vereinfacht sich die Syntax + enorm.
+ Dabei wird das Array vom Anfang bis zum Ende durchlaufen.

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$var = array("Birnen","Bananen","Äpfel");
foreach ($var as $value) {
echo "Wert: $value<br>\n";
}
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

Wert: Birnen
+ Wert: Bananen
+ Wert: Äpfel

+
+ + +

 

+ + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + if
zurück:zurückSeite + for
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/if.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/if.html new file mode 100644 index 0000000..eccb997 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/if.html @@ -0,0 +1,211 @@ + + + +if + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

if

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Tipp
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
if
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

 

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit if wird ein Kontrollmechanismus eingeleitet und abgearbeitet, wenn + dieser
+ wahr ist. Dabei müssen die Bedingungen innerhalb der Abfrage einen + logischen
+ Wert (True oder False) zurückliefern.
+ Als False wird die Zahl 0, der String "0" oder "" + (leer) gesehen, während alle
+ anderen Rückgabewerte True darstellen.
+ Im Folgenden sehen Sie Operatoren für die Ausdrücke, um diese + bei der
+ Überprüfung von Bedingungen nutzen zu können.
+
+ Logische Operatoren:

+
    +
  • and $x und $y müssen gleich sein
  • +
  • or $x oder $y muss TRUE sein
  • +
  • xor $x und $y dürfen nicht gleich sein (Ungleich)
  • +
  • &&…$x und $y müssen gleich sein
  • +
  • ||…$x oder $y muss TRUE sein
  • +
  • !… $x und $y dürfen nicht gleich sein (Ungleich)
  • +
+

Vergleichoperatoren

+
    +
  • " ==...$x und $y müssen gleich sein
  • +
  • " !=... $x und $y dürfen nicht gleich sein (Ungleich)
  • +
  • " > $x muss größer als $y sein
  • +
  • " < $x muss kleiner als $y sein
  • +
  • " >= $x muss größer oder gleich $y sein
  • +
  • " <= $x muss kleiner oder gleich $y sein
  • +
+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
$x = 0;
+
1.Möglichkeit (einzeilige if-Abfrage)
+
if($x == 0) echo "Die Variable ist Null";
+
oder
+
if($x == 0):
+  echo "Die Variable ist Null";
+endif;
+
2.Möglichkeit (mehrzeilige if-Abfrage)
+
if($x == 0) {
+  echo "Die Variable ist Null";
+  echo "Eine sehr kleine Zahl";
+}
+
oder
+
if($x == 0):
+  echo "Die Variable ist Null";
+  echo "Eine sehr kleine Zahl";
+endif;
+
3.Möglichkeit (HTML-Code umschließen)
+
<?PHP
+  if($x == 0){
+?>
+Hier kann ganz normaler HTML-Code stehen
+<?PHP
+}
+?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Tipp

+ + + + +
+

Achten Sie darauf, dass bei der 3. Möglichkeit der zu schließende + if-Zweig
+ innerhalb von einem PHP-Syntax steht.
+ Zwischen dem if-Zweig kann beliebiger HTML-Code stehen und man muss nicht
+ auf PHP-typische Sonderzeichen achten, welche innerhalb von PHP gesondert
+ geschützt werden müssen.

+
+ + +

 

+ + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + if...else
zurück:zurückSeite + foreach
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/if_else.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/if_else.html new file mode 100644 index 0000000..d3a8e78 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/if_else.html @@ -0,0 +1,162 @@ + + + +if...else + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

if...else

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Tipp
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
if...else
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

 

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit if....else wird ein Kontrollmechanismus eingeleitet und auf den
+ Einstiegspunkt hin überprüft. Ist der if-Zweig "False", + wird direkt in den else-
+ Zweig geleitet und dieser abgearbeitet. Ist hingegen der if-Zweig "True", + wird
+ der else-Zweig übergangen und nur der if-Zweig abgearbeitet. Sie + sollten aber
+ bedenken, dass auf jeden Fall einer der Blöcke abgearbeitet wird.

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$x = 15;
if($x < 14){
echo $x . " ist kleiner als 14";
}
else{
echo $x . " ist größer als 14";
}
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Tipp

+ + + + +
+

Achten Sie darauf, dass der else-Zweig immer abgearbeitet wird, wenn + der if-
+ Zweig "False" zurückliefert.

+
+ + +

 

+ + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + if...else...elseif
zurück:zurückSeite + if
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/if_else_elseif.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/if_else_elseif.html new file mode 100644 index 0000000..1ce1789 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/if_else_elseif.html @@ -0,0 +1,143 @@ + + + +if...else...elseif + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

if...else...elseif

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
if...else...elseif
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

 

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit if....else....elseif wird ein Kontrollmechanismus eingeleitet und + auf den
+ Einstiegspunkt hin überprüft. Ist der if-Zweig "False", + wird direkt in den elseif-
+ Zweig geleitet und dieser wiederum auf Richtigkeit hin überpüft. + Innerhalb des
+ elseif-Zweiges wird elseif als if und else als else gesehen. Sie sollten + aber
+ bedenken, dass auf jeden Fall einer der Blöcke abgearbeitet wird.

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$x = 10;
if($x < 0){
echo $x . "ist kleiner als 0";
}
else{
echo $x . " ist größer als 0";
}
elseif($x < 10){
echo $x . " ist kleiner als 10";
}
else{
echo $x . " ist größer als 10";
}
?>
+
+ +

 

+ + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + include
zurück:zurückSeite + if...else
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/include.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/include.html new file mode 100644 index 0000000..bfd05a9 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/include.html @@ -0,0 +1,165 @@ + + + +include + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

include

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
include
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP3, PHP4

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Der include-Befehl hat zur Folge, dass vom PHP-Parsing-Modus in den HTML-
+ Modus geschaltet und die angegebene Datei eingelesen und ausgewertet wird. + Ist
+ innerhalb der zu inkludierenden Datei PHP-Code, so muss dieser in gültigen
+ PHP-Start- (<?PHP) und End-Tags (?>) eingebunden werden.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
include("php.php");
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

Inhalt der Datei php.php

+
+ + +

 

+ + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + include_once
zurück:zurückSeite + if...else...elseif
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/include_once.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/include_once.html new file mode 100644 index 0000000..64ea4d8 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/include_once.html @@ -0,0 +1,168 @@ + + + +include_once + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

include_once

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
include_once
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

 

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Der include_once Befehl hat zur Folge, dass die angegebene Datei eingelesen + und
+ ausgewertet wird.
+ Wie bei der Anweisung require_once wird der Code nur einmal eingebunden.
+ Damit soll verhindert werden, dass zwei identische Funktionen inkludiert + werden
+ und somit ein Fehler produziert wird.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
siehe require_once
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

siehe require_once

+
+ + +

 

+ + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + require
zurück:zurückSeite + include
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/index.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/index.html new file mode 100644 index 0000000..e12ad2b --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/index.html @@ -0,0 +1,95 @@ + + + + + Übersicht Kontroll-Mechanismen + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
SEL.html +

Kontroll-Mechanismen

+
Kapitelseite + +

In diesem Abschnitt werden Kontroll-Mechanismen beschrieben.
+ Der Abschnitt besteht aus folgenden Seiten:

+ + + + +
Seite + break
+ Seite + continue
+ Seite + do...while
+ Seite + Dynamische Variablen
+ Seite + for
+ Seite + foreach
+ Seite + if
+ Seite + if...else
+ Seite + if...else...elseif
+ Seite + include
+ Seite + include_once
+ Seite + require
+ Seite + require_once
+ Seite + switch
+ Seite + Vordefinierte Variablen
+ Seite + while
+
+  
+
+ +
+nach oben
  +
+ + + +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/require.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/require.html new file mode 100644 index 0000000..304e92d --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/require.html @@ -0,0 +1,170 @@ + + + +require + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

require

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
require
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP3, PHP4

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Der require-Befehl hat zur Folge, dass vom PHP-Parsing-Modus in den HTML-
+ Modus geschaltet wird und die angegebene Datei eingelesen und ausgewertet
+ wird. Ist innerhalb der zu inkludierenden Datei PHP-Code, so muss dieser + in
+ gültigen PHP-Start- (<?PHP) und End-Tags (?>) eingebunden werden.
+ Sie können den require-Befehl nicht innerhalb von Schleifen nutzen, + da die Datei
+ nur einmal eingelesen wird, sogar falls der require-Befehl in einem Zweig + steht,
+ der nicht ausgeführt wird - nutzen Sie in diesem Fall include().

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
require("php.php");
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

Inhalt der Datei php.php

+
+ + +

 

+ + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + require_once
zurück:zurückSeite + include_once
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/require_once.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/require_once.html new file mode 100644 index 0000000..9d9efd0 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/require_once.html @@ -0,0 +1,220 @@ + + + +require_once + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

require_once

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel1
+ nach unten Ausgabe1
+ nach unten Beispiel2
+ nach unten Ausgabe2
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
require_once
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

 

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Der require_once Befehl hat zur Folge, dass an seiner Stelle der Inhalt + einer
+ anderen Datei ausgegeben wird und somit ersetzt sich der Befehl durch + die Datei.
+ Der Hauptunterschied liegt darin, dass bei dem Befehl require_once der
+ einzubindende Code einer Datei nur einmal eingebunden wird.
+ Sehen Sie sich beide Beispiele genau an.
+ Beim zweiten Beispiel würde man versuchen, zwei identische functions + in eine
+ Datei zu inkludieren - ein fataler Fehler!

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel1

+ + + + +
+
Inhalt der Datei index.php:
require_once("1.php");
mache_etwas();
require_once("2.php");
+
Inhalt der Datei 1.php
+function mache_etwas(){
+    echo "Hier ist die Datei 1.php<br>";
+}
+Inhalt der Datei 2.php
+require_once("1.php");
+echo "Hier ist die Datei 2.php";
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe1

+ + + + +
+

Hier ist die Datei 1.php
+ Hier ist die Datei 2.php

+
+ + +

 

+ +
+nach obennach unten  +
+ +

Beispiel2

+ + + + +
+
Inhalt der Datei index.php:
require("1.php");
mache_etwas();
require("2.php");
+
Inhalt der Datei 1.php
+function mache_etwas(){
+    echo "Hier ist die Datei 1.php<br>";
+}
+Inhalt der Datei 2.php
+require("1.php");
+echo "Hier ist die Datei 2.php";
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe2

+ + + + +
+

Hier ist die Datei 1.php
+ Fatal error: Cannot redeclare mache_etwas() in 1.php on line 2

+
+ + +

 

+ + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + switch
zurück:zurückSeite + require
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/switch.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/switch.html new file mode 100644 index 0000000..f377886 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/switch.html @@ -0,0 +1,159 @@ + + + +switch + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

switch

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
switch
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP3, PHP4

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Switch ist vergleichbar mit einer if-Abfrage. Der Vorteil ist aber, dass + Sie mit der
+ switch-Anweisung verschiedene Argumente mit einer Variablen überprüfen
+ können und somit in bestimmte Teile verzweigen können. Innerhalb + der
+ Verzweigung haben Sie die Möglichkeit, den Durchlauf mit break abzubrechen
+ und somit die Schleife zu verlassen.

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$var = 2;
switch ($var) {
case 0:
echo "\$var ist gleich 0";
break;
case 1:
echo "\$var ist gleich 1";
break;
case 2:
echo "\$var ist gleich 2";
break;
}
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

$var ist gleich 2

+
+ + +

 

+ + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + Vordefinierte Variablen
zurück:zurückSeite + require_once
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/vordefinierte_variablen.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/vordefinierte_variablen.html new file mode 100644 index 0000000..fd333c9 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/vordefinierte_variablen.html @@ -0,0 +1,187 @@ + + + +Vordefinierte Variablen + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

Vordefinierte Variablen

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
Vordefinierte Variablen
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

 

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Sie haben mit den unten stehenden Servervariablen die Möglichkeit, + viele
+ Informationen über das Serversystem oder den Besucher ihrer Website + zu
+ bekommen. Alle Variablen hier ausführlich zu erklären, würde + den Rahmen des
+ Buches sprengen.
+ Sie haben aber die Möglichkeit, die einzelnen Variablen in ihren + Skripts
+ auszuprobieren.

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo "
GATEWAY_INTERFACE: $GATEWAY_INTERFACE <br>
SERVER_NAME: $SERVER_NAME <br>
SERVER_SOFTWARE: $SERVER_SOFTWARE <br>
SERVER_PROTOCOL: $SERVER_PROTOCOL <br>
REQUEST_METHOD: $REQUEST_METHOD <br>
QUERY_STRING: $QUERY_STRING <br>
DOCUMENT_ROOT: $DOCUMENT_ROOT <br>
HTTP_ACCEPT: $HTTP_ACCEPT <br>
HTTP_ACCEPT_CHARSET: $HTTP_ACCEPT_CHARSET <br>
HTTP_ENCODING: $HTTP_ENCODING <br>
HTTP_ACCEPT_LANGUAGE: $HTTP_ACCEPT_LANGUAGE<br>
HTTP_CONNECTION: $HTTP_CONNECTION <br>
HTTP_HOST: $HTTP_HOST <br>
HTTP_REFERER: $HTTP_REFERER <br>
HTTP_USER_AGENT: $HTTP_USER_AGENT <br>
REMOTE_ADDR: $REMOTE_ADDR <br>
REMOTE_PORT: $REMOTE_PORT <br>
SCRIPT_FILENAME: $SCRIPT_FILENAME <br>
SERVER_ADMIN: $SERVER_ADMIN <br>
SERVER_PORT: $SERVER_PORT <br>
SERVER_SIGNATURE: $SERVER_SIGNATURE <br>
PATH_TRANSLATED: $PATH_TRANSLATED <br>
SCRIPT_NAME: $SCRIPT_NAME <br>
REQUEST_URI: $REQUEST_URI <br>
";
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

GATEWAY_INTERFACE: CGI/1.1
+ SERVER_NAME: linux.im-online.de
+ SERVER_SOFTWARE: Apache/1.3.12 (Unix) PHP/4.0.0
+ SERVER_PROTOCOL: HTTP/1.1
+ REQUEST_METHOD: GET
+ QUERY_STRING:
+ DOCUMENT_ROOT: /www/htdocs
+ HTTP_ACCEPT: /
+ HTTP_ACCEPT_CHARSET:
+ HTTP_ENCODING:
+ HTTP_ACCEPT_LANGUAGE: de
+ HTTP_CONNECTION: Keep-Alive
+ HTTP_HOST: 192.168.19.222
+ HTTP_REFERER:
+ HTTP_USER_AGENT: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; QXW0334s) +
+ REMOTE_ADDR: 192.168.19.103
+ REMOTE_PORT: 3573
+ SCRIPT_FILENAME: /www/users//test/index.php
+ SERVER_ADMIN: root@linux.im-online.de
+ SERVER_PORT: 80
+ SERVER_SIGNATURE:
+ Apache/1.3.12 Server at linux.im-online.de Port 80
+ PATH_TRANSLATED: /www/users//test/index.php
+ SCRIPT_NAME: /~test/index.php
+ REQUEST_URI: /~test/

+
+ + +

 

+ + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + while
zurück:zurückSeite + switch
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/while.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/while.html new file mode 100644 index 0000000..c19a745 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/kontroll_mechanismen/while.html @@ -0,0 +1,188 @@ + + + +while + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

while

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
while(expr)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

 

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit while() wird ein Schleifendurchlauf abgearbeitet und so lange ausgeführt, + bis
+ das Schleifenende erreicht wurde. Dabei wird bei jedem Schleifendurchlauf + die
+ Bedingung (expr) auf true geprüft. Ist true erreicht, wird die while-Schleife
+ beendet. Ist die Bedingung schon vor dem ersten Durchlauf false, wird + die
+ Schleife nicht einmal abgearbeitet.
+ Die while-Schleife ist sehr sinnvoll, wenn man vorher nicht genau weiß, + wie oft
+ ein Durchlauf benötigt wird.
+ In Zusammenhang mit Datenbankabfragen ist die while-Schleife sehr sinnvoll
+ und empfehlenswert. So könnte man sich z.B. alle Mitglieder eines + Vereins
+ ausgeben lassen, welche vor 1970 geboren wurden. Da Sie aber im Vorfeld + (bei
+ der Programmierung) nicht wissen können, wie viele Mitglieder es + sind, bietet
+ sich dort die Kombination mit einer While-Schleife an.
+ Achten Sie darauf, dass eine while-Schleife immer einen Endwert besitzen + muss
+ da es sonst zu Programmabstürzen kommen kann. Wird die While-Schleife
+ fehlerhaht eingesetzt, ist das Resultat katastrophal - aus der while-Schleife + wird
+ eine Endlosschleife.

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
1. Möglichkeit
$x = 0;
while($x < 14){
echo $x++ . ". Durchlauf <br>";
}
+ +2. Möglichkeit
while($x < 14):
$x++;
echo $x . ". Durchlauf <br>";
endwhile;
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

0.Durchlauf
+ .
+ .
+ 13. Durchlauf
+

+

 

+

1.Durchlauf
+ .
+ .
+ 13.Durchlauf

+
+ + +

 

+ + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + Mail-Funktionen
zurück:zurückSeite + Vordefinierte Variablen
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mail_funktionen/index.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mail_funktionen/index.html new file mode 100644 index 0000000..bad1e0b --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mail_funktionen/index.html @@ -0,0 +1,65 @@ + + + + + Übersicht Mail-Funktionen + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
SEL.html +

Mail-Funktionen

+
Kapitelseite + +

In diesem Abschnitt werden Mail-Funktionen beschrieben.
+ Der Abschnitt besteht aus folgenden Seiten:

+ + + + +
Seite + mail
+
+  
+
+ +
+nach oben
  +
+ + + +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mail_funktionen/mail.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mail_funktionen/mail.html new file mode 100644 index 0000000..20fa542 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mail_funktionen/mail.html @@ -0,0 +1,340 @@ + + + +mail + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mail

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel1
+ nach unten Ausgabe1
+ nach unten Beispiel2
+ nach unten Ausgabe2
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
bool mail(string to, string subject, + string message [, string additional_headers])
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mail() kann man eine E-Mail im Text- oder HTML-Format an eine oder
+ mehrere Personen versenden. Sie können in dieser Mail einen Empfänger + (to),
+ einen Absender, ein CC , ein BCC und sogar ein Attachment festlegen, die + alle
+ beim Versand berücksichtigt werden.
+ Der Betreff (subject) und die Nachricht (message) werden dann mit den + obigen
+ Daten versendet. Im Mailheader (additional_headers) können Sie verschiedene
+ Angaben (From, Cc, Bcc etc - siehe Beispiel) machen, welche jeweils durch
+ einen Zeilenvorschub (\n) getrennt sein müssen.
+ Wollen Sie eine E-Mail an mehrere Personen senden, so schreiben Sie sie + im to-
+ Bereich und trennen die einzelnen Adressen durch ein Komma(,).
+ Im optionalen Parameter additional_parameters können Sie
+ Befehlszeilenargumente an das Mail-Programm übergeben.

+

Zu Beispiel 1:
+ Bei diesem Beispiel wurde per Formular eine HTML-Mail generiert und an + den
+ Empfänger gesendet. Zusätzlich wurde eine zusätzliche E-Mail-Adresse + im BCC
+ angegeben und weitergeleitet. Bedenken Sie bitte, dass Sie bei Einbindung + von
+ Grafiken die absolute Adresse (im Internet) angeben müssen, da sonst + das Bild
+ nicht angezeigt wird.
+ Sie sollten aber lieber auf Grafiken verzichten, da der User beim Lesen + der
+ Nachricht (wenn er offline ist) nicht sehr glücklich sein wird, dass + er online gehen
+ muss, um sich die Grafik anzuschauen.

+

Zu Beispiel 2:
+ Bei diesem Beispiel wurde per Formular (wie bei Beispiel 1) eine Text-Mail
+ generiert und an den Empfänger gesendet. Zusätzlich wurde eine + E-Mail-Adresse
+ im CC angegeben und weitergeleitet.

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel1

+ + + + +
+
<?PHP
//Wird vom Formular ausgefuellt
$email_to = "$name_freund <$email_freund>";
//Absender-Email
$email_from_mail = "mail@selfphp.info";
//Absender-Name
$email_from_name = "Damir Enseleit";
//Betreff in der Mail
$email_betreff = "Selfphp-Mailer";
//BCC
$email_to_bcc = "mail@selfphp4.de";
?> + +<html><head> +<title>Selfphp-Mailer</title> +</head> +<body bgcolor="#FFFFFF"> +<h4>Selfphp-Mailer</h4> +<?php +if(!isset($email_freund)){ +?> +<form action="index.php" method="post"> +<table width="58%" border="0" cellspacing="2" cellpadding="0"> + <tr> + <td width="15%" valign="top"> + Name/Freund: + </td> + <td width="85%"> + <input type="text" name="name_freund"> + </td> + </tr> + <tr> + <td width="15%" valign="top"> + Email/Freund: + </td> + <td width="85%"> + <input type="text" name="email_freund"> + </td> + </tr> + <tr> + <td width="15%" valign="top"> + Kommentar: + </td> + <td width="85%"> + <textarea cols="30" rows="6" name="kommentar"></textarea> + </td> + </tr> + <tr> + <td width="15%" valign="top">&nbsp;</td> + <td width="85%"> + <input type="submit" value="HTML-Mail senden" name="submit"> + </td> + </tr> +</table> +</form>
+
<?php 
+} 
+else{ 
+  $emailbody = '
+  <html> 
+  <!-- 
+  Hallo ' . $name_freund . '
+  Ihr System unterstuetzt keine HTML-Mails! 
+  Folgende Nachricht wurde Ihnen uebermittelt: 
+  ' . $kommentar . ' 
+  --> 
+  <body bgcolor="#FFFFFF" text="#000000">
+  <table cellpadding="4" cellspacing="0" border="0" width="100%">
+    <tr>
+      <td bgcolor="#FFEEDD" >
+        <b>SELFPHP: Version 1.0.0 , Autor: Damir Enseleit</b>
+      </td>
+    </tr>
+  </table>
+  <table cellpadding="4" cellspacing="0" border="0" width="100%">
+    <tr> 
+      <td bgcolor="#EEEEEE" >
+        <img src="http://www.selfphp3.de/src/logo.gif" width="106" height="109" border="0" alt="SELFHTML">
+      </td>
+      <td bgcolor="#EEEEEE" valign="bottom" width="100%">
+        Dynamische Webapplikationen:<br>
+        <b>PHP-Dateien selbst erstellen</b> 
+        <h1>Newsletter</h1>
+      </td>
+    </tr>
+    <tr> 
+      <td bgcolor="#EEEEEE" valign="top" align="center"> 
+        <h2>Inhalt</h2>
+      </td>
+      <td bgcolor="#FFFFFF" valign="top" width="100%">
+        <h2>Hallo ' . $name_freund . '</h2>
+        <p><b>Das ist Deine Nachricht:</b></p> 
+        <pre><font face="Verdana,Geneva,Arial, Helvetica,sans-serif" color="#006600">' 
+         . $kommentar . 
+         '</font></pre> 
+      </td>
+    </tr>
+    <tr>
+      <td colspan=2 bgcolor="#EEEEEE" >
+        <img src="http://www.selfphp3.de/src/up.gif" width="14" height="10" border="0" alt="nachoben">&#160; 
+      </td>
+    </tr>
+  </table>
+  <p>&copy; 2001<img src="http://www.selfphp3.de/src/mail.gif" width="15" height="10" border="0" alt="E-Mail">
+  &nbsp;<a href="mailto:mail@selfphp.info">Damir Enseleit, mail@selfphp.info</a></p>
+</body>
+</html>
+'; 
+
$header="From:$email_from_name<$email_from_mail>\n";
+$header .= "Reply-To: $email_from_mail\n"; 
+$header .= "Bcc: $email_to_bcc\n"; 
+$header .= "X-Mailer: PHP/" . phpversion(). "\n";          
+$header .= "X-Sender-IP: $REMOTE_ADDR\n"; 
+$header .= "Content-Type: text/html"; 
+mail($email_to,$email_betreff,$emailbody,$header);
+echo "<p>Sende Email nach: $email_freund<br> 
+  Sende Email(BCC) nach: $email_from_mail"; 
+} 
+?> 
+</body> 
+</html>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe1

+ + + + +
+

Ausfüllen des Formular:

+

+

Bestätigung beim Versenden:

+

+

Fertige Email beim Empfänger:

+

+
+ + +

 

+ +
+nach obennach unten  +
+ +

Beispiel2

+ + + + +
+
<?PHP
//Wird vom Formular ausgefuellt
$email_to = "$name_freund<$email_freund>";
//Absender-Email
$email_from_mail = "mail@selfphp4.de";
//Absender-Name
$email_from_name = "Damir Enseleit";
//Betreff in der Mail
$email_betreff = "Selfphp-Mailer";
//CC
$email_to_cc="Matthias Hupp<mail@selfphp.info>";
?>
<html><head>
<title>Selfphp-Mailer</title>
</head>
<body bgcolor="#FFFFFF">
<h4>Selfphp-Mailer</h4>
<?php
if(!isset($email_freund)){
?>
<form action="index.php" method="post">
<table width="58%" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="15%" valign="top">
Name/Freund:
</td>
<td width="85%">
<input type="text" name="name_freund">
</td>
</tr>
<tr>
<td width="15%" valign="top">
Email/Freund:
</td>
<td width="85%">
<input type="text" name="email_freund">
</td>
</tr>
<tr>
<td width="15%" valign="top">
Kommentar:
</td>
<td width="85%">
<textarea cols="30" rows="6"name="kommentar"></textarea>
</td>
</tr>
<tr>
<td width="15%" valign="top">&nbsp;</td>
<td width="85%">
<input type="submit" value="HTML-Mail senden" name="submit">
</td>
</tr> +</table>
</form>
<?php
}
else{
$header="From:$email_from_name<$email_from_mail>\n";
$header .= "Cc: $email_to_cc\n";
mail($email_to,$email_betreff,$kommentar,$header);
}
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe2

+ + + + +
+

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + Mathematische-Funktionen
zurück:zurückSeite + Mail-Funktionen
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/abs.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/abs.html new file mode 100644 index 0000000..ea720aa --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/abs.html @@ -0,0 +1,164 @@ + + + +abs + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

abs

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
mixed abs(mixed number)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit abs() kann man sich von einer bestimmten Zahl (number) den Absolutwert
+ zurückgeben lassen. Ist die Zahl vom Typ "float", wird + auch die Zahl als "float",
+ sonst als "int" zurückgegeben.
+ Ist die Zahl bereits ein Absolutwert, so bleibt sie von dem Befehl abs() + unberührt.

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo abs(-6);
echo "<br>";
echo abs(-2.5);
echo "<br>";
echo abs(0);
echo "<br>";
echo abs(12);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

6
+ 2.5
+ 0
+ 12

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + acos
zurück:zurückSeite + Mathematische-Funktionen
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/acos.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/acos.html new file mode 100644 index 0000000..8b8f3b8 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/acos.html @@ -0,0 +1,171 @@ + + + +acos + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

acos

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
float acos(float arg)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit acos() kann man sich den Arcuscosinus-Wert zu arg im Bogenmaß
+ zurückgeben lassen. Der Wert arg darf zwischen -1.0 und 1.0 liegen. + Werte
+ darüber werden als "NAN" zurückgegeben.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo acos(1.00);
echo "<br>";
echo acos(0.52);
echo "<br>";
echo acos(-1.00);
echo "<br>";
echo acos(-1.01);
echo "<br>";
echo rad2deg(acos(0.50)) . "°";
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

0
+ 1.023945376099
+ 3.1415926535898
+ NAN
+ 60°

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + asin
zurück:zurückSeite + abs
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/asin.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/asin.html new file mode 100644 index 0000000..e5eed27 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/asin.html @@ -0,0 +1,173 @@ + + + +asin + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

asin

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
float asin(float arg)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit asin() kann man sich den Arcussinus-Wert zu arg im Bogenmaß + zurückgeben
+ lassen. Der Wert arg darf zwischen -1.0 und 1.0 liegen. Werte darüber + werden als
+ "NAN" zurückgegeben.
+

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo asin(1.0);
echo "<br>";
echo asin(0.52);
echo "<br>";
echo asin(-1.00);
echo "<br>";
echo asin(-1.01);
echo "<br>";
echo rad2deg(asin(0.50)) . "°";
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

1.5707963267949
+ 0.54685095069594
+ -1.5707963267949
+ NAN
+ 30°

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + atan
zurück:zurückSeite + acos
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/atan.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/atan.html new file mode 100644 index 0000000..e89e337 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/atan.html @@ -0,0 +1,166 @@ + + + +atan + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

atan

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
float atan(float arg)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit atan() kann man sich den Arcustangens-Wert zu arg im Bogenmaß
+ zurückgeben lassen.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo $wert = atan(-1);
echo "<br>";
echo rad2deg(atan(1)) . "°";
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

-0.78539816339745
+ 45°

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + atan2
zurück:zurückSeite + asin
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/atan2.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/atan2.html new file mode 100644 index 0000000..d9e8583 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/atan2.html @@ -0,0 +1,169 @@ + + + +atan2 + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

atan2

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
float atan2(float y, float x)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.5, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit atan2() kann man sich den Arcustangens-Wert der Parameter x und y
+ zurückgeben lassen. Dabei wird das Vorzeichen beider Parameter ausgewertet
+ und so der Quadrant des Ergebnisses bestimmt.
+

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo atan2(-2,2);
echo "<br>";
echo rad2deg(atan2(1,2)) . "°";
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

-0.78539816339745
+ 26.565051177078°

+

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + base_convert
zurück:zurückSeite + atan
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/base_convert.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/base_convert.html new file mode 100644 index 0000000..1913c09 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/base_convert.html @@ -0,0 +1,173 @@ + + + +base_convert + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

base_convert

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
string base_convert(string number, + int frombase, int tobase)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit base_convert() kann man eine Zahl (number) von einer beliebigen Basis
+ (frombase) zu einer anderen Basis (tobase) konvertieren lassen. Es ist + darauf zu
+ achten, dass die Basen den Wert 36 nicht überschreiten. Für + Zahlen in Basen
+ größer als 10 werden neben den Ziffern 0-9 auch die Buchstaben + a-z genutzt,
+ wobei a einen Wert von 10 und z einen Wert von 36 hat.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo base_convert(16,2,4);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

2

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + bcadd
zurück:zurückSeite + atan2
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcadd.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcadd.html new file mode 100644 index 0000000..b564fa3 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcadd.html @@ -0,0 +1,165 @@ + + + +bcadd + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

bcadd

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
string bcadd(string Operand, + string Operand [, int Genauigkeit ])
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3>= 3.0.6, PHP 4

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit bcadd() wird der erste Operand (LOperand) zu dem zweiten Operanden
+ (ROperand) addiert. Der optionale Parameter Genauigkeit bestimmt die
+ Nachkommastellen.

+

Siehe auch:

+ +

Achtung: Diese Funktion ist nur ausführbar , wenn PHP bei + der Installation mit
+ --enable-bcmath konfiguriert wurde.

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo bcadd(30,6,3);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

36.000

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + bccomp
zurück:zurückSeite + base_convert
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bccomp.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bccomp.html new file mode 100644 index 0000000..4ea954c --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bccomp.html @@ -0,0 +1,169 @@ + + + +bccomp + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

bccomp

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
string bccomp(string Operand, + string Operand [,int Genauigkeit])
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit bccomp() wird der erste Operand (LOperand) mit dem zweiten Operanden
+ (ROperand) verglichen. Sind beide Operanden gleich, wird 0 zurückgegeben. + Ist
+ der linke Operand größer als der rechte Operand, wird +1 zurückgegeben, + sonst
+ -1 (rechter Operand ist größer).
+ Der Parameter Genauigkeit bestimmt die Nachkommastellen, welche beim
+ Vergleich berücksichtigt werden.

+

Achtung: Diese Funktion ist nur ausführbar , wenn PHP bei + der Installation mit
+ --enable-bcmath konfiguriert wurde.

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo bccomp(21.123,21.124,2);
echo "<br>";
echo bccomp(21.123,21.124,3);
echo "<br>";
echo bccomp(21.124,21.123,3);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

0
+ -1
+ 1

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + bcdiv
zurück:zurückSeite + bcadd
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcdiv.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcdiv.html new file mode 100644 index 0000000..136fac3 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcdiv.html @@ -0,0 +1,167 @@ + + + +bcdiv + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

bcdiv

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
string bcdiv(string Operand, + string Operand [,int Genauigkeit])
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit bcdiv() wird der erste Operand (LOperand) durch den zweiten Operanden
+ (ROperand) dividiert. Der Parameter Genauigkeit bestimmt die
+ Nachkommastellen im Ergebnis.

+

Siehe auch:

+ +

Achtung: Diese Funktion ist nur ausführbar, wenn PHP bei + der Installation mit
+ --enable-bcmath konfiguriert wurde.

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo bcdiv(9,2,0);
echo "<br>";
echo bcdiv(9,2,1);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

4
+ 4.5

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + bcmod
zurück:zurückSeite + bccomp
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcmod.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcmod.html new file mode 100644 index 0000000..f947bb2 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcmod.html @@ -0,0 +1,164 @@ + + + +bcmod + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

bcmod

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
string bcmod(string Operand, + string Modulus)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit bcmod() wird der Modulus-Wert einer Zahl (Operand) zurückgeliefert.

+

Siehe auch:

+ +

Achtung: Diese Funktion ist nur ausführbar, wenn PHP bei + der Installation mit
+ --enable-bcmath konfiguriert wurde.

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo bcmod(80,3); // 80:3=26 - Rest 2
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

2

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + bcmul
zurück:zurückSeite + bcdiv
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcmul.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcmul.html new file mode 100644 index 0000000..9756f37 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcmul.html @@ -0,0 +1,169 @@ + + + +bcmul + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

bcmul

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
string bcmul(string Operand, + string Operand [,int Genauigkeit])
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit bcmul() wird der erste Operand (LOperand) mit dem zweiten Operanden
+ (ROperand) multipliziert. Der Parameter Genauigkeit bestimmt die
+ Nachkommastellen im Ergebnis.

+

Siehe auch:

+ +

Achtung: Diese Funktion ist nur ausführbar, wenn PHP bei + der Installation mit
+ --enable-bcmath konfiguriert wurde.

+

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo bcmul(3.3,2,0);
echo "<br>";
echo bcmul(3.3,2,1);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

6
+ 6.6

+

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + bcpow
zurück:zurückSeite + bcmod
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcpow.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcpow.html new file mode 100644 index 0000000..0b5f789 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcpow.html @@ -0,0 +1,173 @@ + + + +bcpow + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

bcpow

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
string bcpow(string Operand, + string Operand [,int Genauigkeit])
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit bcpow() wird der erste Operand (x) mit dem zweiten Operanden (y)
+ potenziert. Der Parameter Genauigkeit bestimmt die Nachkommastellen im
+ Ergebnis.
+ Es ist darauf zu achten, dass der zweite Operand keine Nachkommastellen + besitzt.
+ Je nach Version erhalten Sie entweder eine Fehlermeldung oder die
+ Nachkommastelle wird bei der Berechnung einfach nicht berücksichtigt.

+

Siehe auch:

+ +

Achtung: Diese Funktion ist nur ausführbar, wenn PHP bei + der Installation mit
+ --enable-bcmath konfiguriert wurde.

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo bcpow(3.1,3,3);
echo "<br>";
echo bcpow(3.1,3,1);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

29.791
+ 29.7

+

+

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + bcscale
zurück:zurückSeite + bcmul
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcscale.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcscale.html new file mode 100644 index 0000000..47d638a --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcscale.html @@ -0,0 +1,163 @@ + + + +bcscale + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

bcscale

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
string bcscale(int Genauigkeit)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit bcscale() wird die Genauigkeit aller folgenden BC-Funktionen innerhalb + des
+ laufenden Skripts bestimmt. Falls Sie einer BC-Funktion (z.B. bcadd) keinen
+ expliziten Wert für den Parameter Genauigkeit übergeben, gilt + die mit bcscale()
+ voreingestellte Anzahl der Nachkommastellen.

+

Achtung: Diese Funktion ist nur ausführbar, wenn PHP bei + der Installation mit
+ --enable-bcmath konfiguriert wurde.

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
bcscale(3);
/* Alle nachfolgenden Berechnungen haben drei Nachkommastellen */
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

 

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + bcsqrt
zurück:zurückSeite + bcpow
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcsqrt.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcsqrt.html new file mode 100644 index 0000000..61c25b4 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcsqrt.html @@ -0,0 +1,159 @@ + + + +bcsqrt + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

bcsqrt

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
string bcsqrt(string Operand + , int Genauigkeit)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit bcsqrt() wird die Quadratwurzel von Operand ermittelt. Der Parameter
+ Genauigkeit gibt die Nachkommastellen des Ergebnisses an.
+ Achtung: Diese Funktion ist nur ausführbar, wenn PHP bei der Installation + mit
+ --enable-bcmath konfiguriert wurde.

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo bcsqrt(25,3);
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

5.000

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + bcsub
zurück:zurückSeite + bcscale
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcsub.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcsub.html new file mode 100644 index 0000000..75e63e5 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bcsub.html @@ -0,0 +1,161 @@ + + + +bcsub + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

bcsub

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
string bcsub(string Operand, + string Operand [,int Genauigkeit])
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit bcsub() wird der zweite Operand (ROperand) vom ersten Operanden
+ (LOperand) subtrahiert. Der Parameter Genauigkeit bestimmt die
+ Nachkommastellen im Ergebnis.

+

Achtung: Diese Funktion ist nur ausführbar, wenn PHP bei + der Installation mit
+ --enable-bcmath konfiguriert wurde.

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo bcsub(17,9,3);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

8.000

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + bindec
zurück:zurückSeite + bcsqrt
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bindec.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bindec.html new file mode 100644 index 0000000..6f63488 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/bindec.html @@ -0,0 +1,165 @@ + + + +bindec + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

bindec

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
int bindec(string binary_string)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit bindec() wird eine binäre Zahl (binary_string) in eine dezimale + Zahl
+ konvertiert.
+ Eine Binärzahl besteht ausschließlich aus den Ziffern 1 und + 0.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo bindec(101010);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

42

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + ceil
zurück:zurückSeite + bcsub
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/ceil.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/ceil.html new file mode 100644 index 0000000..c49c72f --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/ceil.html @@ -0,0 +1,165 @@ + + + +ceil + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

ceil

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
int ceil(float number)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit ceil() wird diejenige ganze Zahl zurückgegeben, welche größer + oder gleich
+ der vorgegebenen Zahl (number) ist. Es wird ausschließlich aufgerundet, + auch
+ wenn die Nachkommastelle kleiner als 5 ist.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo ceil(9.4);
echo "<br>";
echo ceil(10);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

10
+ 10

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + cos
zurück:zurückSeite + bindec
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/cos.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/cos.html new file mode 100644 index 0000000..15ff3cc --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/cos.html @@ -0,0 +1,162 @@ + + + +cos + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

cos

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
float cos(float arg)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit cos() kann man sich den Cosinuswert von arg im Bogenmaß zurückgeben
+ lassen.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo cos(30);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

0.15425144988758

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + decbin
zurück:zurückSeite + ceil
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/decbin.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/decbin.html new file mode 100644 index 0000000..dad43b1 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/decbin.html @@ -0,0 +1,162 @@ + + + +decbin + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

decbin

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
string decbin(int number)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit decbin() wird eine dezimale Zahl (number) in eine binäre Zahl + konvertiert.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo decbin(42);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

101010

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + dechex
zurück:zurückSeite + cos
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/dechex.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/dechex.html new file mode 100644 index 0000000..be02028 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/dechex.html @@ -0,0 +1,162 @@ + + + +dechex + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

dechex

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
string dechex(int number)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit dechex() wird eine dezimale Zahl (number) in eine hexadezimale Zahl
+ konvertiert.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo dechex(42);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

2a

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + decoct
zurück:zurückSeite + decbin
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/decoct.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/decoct.html new file mode 100644 index 0000000..56404dd --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/decoct.html @@ -0,0 +1,162 @@ + + + +decoct + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

decoct

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
string decoct(int number)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit decoct() wird eine dezimale Zahl (number) in oktale Darstellung konvertiert.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo decoct(42);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

52

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + deg2rad
zurück:zurückSeite + dechex
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/deg2rad.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/deg2rad.html new file mode 100644 index 0000000..bad0079 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/deg2rad.html @@ -0,0 +1,162 @@ + + + +deg2rad + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

deg2rad

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
double deg2rad(double number)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.4, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit deg2rad() wird eine übergebene Zahl (number als Winkelangabe) + von Grad in
+ Bogenmaß umgerechnet.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo deg2rad(90);
?>
+

+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

1.5707963267949

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + exp
zurück:zurückSeite + decoct
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/exp.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/exp.html new file mode 100644 index 0000000..0d54827 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/exp.html @@ -0,0 +1,161 @@ + + + +exp + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

exp

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
float exp(float arg)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit exp() wird die Eulerscher Zahl e mit der übergebenen Zahl (arg) + potenziert.
+ Dabei ist die Eulerscher Zahl e=2.7183.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo exp(10);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

22026.465794807

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + floor
zurück:zurückSeite + deg2rad
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/floor.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/floor.html new file mode 100644 index 0000000..c570bc2 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/floor.html @@ -0,0 +1,166 @@ + + + +floor + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

floor

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
int floor(float number)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit floor() wird diejenige ganze Zahl ausgegeben, welche kleiner oder + gleich der
+ vorgegebenen Zahl number ist. Es wird ausschließlich abgerundet, + auch wenn die
+ Nachkommastelle größer als 5 ist.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo floor(9.4);
echo "<br>";
echo floor(10);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

9
+ 10

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + getrandmax
zurück:zurückSeite + exp
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/getrandmax.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/getrandmax.html new file mode 100644 index 0000000..07ea9b4 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/getrandmax.html @@ -0,0 +1,169 @@ + + + +getrandmax + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

getrandmax

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
int getrandmax(void)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit getrandmax() kann man sich den größten Wert zurückgeben + lassen, den die
+ Funktion rand() auf der vorhandenen Plattform als Zufallszahl zurückgeben
+ könnte.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo "UNIX: " . getrandmax();
echo "<br>";
echo "Windows: " . getrandmax();
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

UNIX: 2147483647
+ Windows: 32767

+

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + hexdec
zurück:zurückSeite + floor
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/hexdec.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/hexdec.html new file mode 100644 index 0000000..dbdfbfa --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/hexdec.html @@ -0,0 +1,165 @@ + + + +hexdec + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

hexdec

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
int hexdec(string hex_string)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit hexdec() wird eine hexadezimale Zahl (hex_string) in eine dezimale + Zahl
+ konvertiert.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo hexdec("2a");
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

42

+

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + log
zurück:zurückSeite + getrandmax
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/index.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/index.html new file mode 100644 index 0000000..4571561 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/index.html @@ -0,0 +1,151 @@ + + + + + Übersicht Mathematische-Funktionen + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
SEL.html +

Mathematische-Funktionen

+
Kapitelseite + +

In diesem Abschnitt werden Mathematische-Funktionen beschrieben.
+ Der Abschnitt besteht aus folgenden Seiten:

+ + + + +
Seite + abs
+ Seite + acos
+ Seite + asin
+ Seite + atan
+ Seite + atan2
+ Seite + base_convert
+ Seite + bcadd
+ Seite + bccomp
+ Seite + bcdiv
+ Seite + bcmod
+ Seite + bcmul
+ Seite + bcpow
+ Seite + bcscale
+ Seite + bcsqrt
+ Seite + bcsub
+ Seite + bindec
+ Seite + ceil
+ Seite + cos
+ Seite + decbin
+ Seite + dechex
+ Seite + decoct
+ Seite + deg2rad
+ Seite + exp
+ Seite + floor
+ Seite + getrandmax
+ Seite + hexdec
+ Seite + log
+ Seite + log10
+ Seite + max
+ Seite + min
+ Seite + mt_getrandmax
+ Seite + mt_rand
+ Seite + mt_srand
+ Seite + number_format
+ Seite + octdec
+ Seite + pi
+ Seite + pow
+ Seite + rad2deg
+ Seite + rand
+ Seite + round
+ Seite + sin
+ Seite + sqrt
+ Seite + srand
+ Seite + tan
+
+  
+
+ +
+nach oben
  +
+ + + +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/log.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/log.html new file mode 100644 index 0000000..d94fc4f --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/log.html @@ -0,0 +1,164 @@ + + + +log + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

log

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
float log(float arg)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit log() kann man sich den natürlichen Logarithmus (zur Basis e=2.7183 + -
+ Eulerscher Zahl) des Parameters arg zurückgeben lassen.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo log(210);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

5.3471075307175

+

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + log10
zurück:zurückSeite + hexdec
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/log10.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/log10.html new file mode 100644 index 0000000..ae286f7 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/log10.html @@ -0,0 +1,162 @@ + + + +log10 + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

log10

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
float log10(float arg)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit log10() kann man sich den Logarithmus (Logarithmus zur Basis 10) + des
+ Parameters arg zurückgeben lassen.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo log10(210);
?>
+

+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

2.3222192947339

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + max
zurück:zurückSeite + log
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/max.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/max.html new file mode 100644 index 0000000..80f32d4 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/max.html @@ -0,0 +1,170 @@ + + + +max + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

max

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
mixed max(mixed arg1, mixed arg2, + mixed argn)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit max() kann man sich den größten Wert der übergebenen + Argumente (arg1 bis
+ argn) zurückgeben lassen. Dabei ist darauf zu achten, dass mindestens + zwei Werte
+ vorhanden sein müssen, um eine Überprüfung vornehmen zu + können. Sollten Sie
+ dennoch nur einen Wert übergeben wollen, so muss dieser ein Array + sein.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$array = array(5,2,45,12,9,13,22);
echo max($array);
echo "<br>";
echo max(1,2,3,4,5,6,7);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

45
+ 7

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + min
zurück:zurückSeite + log10
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/min.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/min.html new file mode 100644 index 0000000..654155f --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/min.html @@ -0,0 +1,170 @@ + + + +min + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

min

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
mixed min(mixed arg1, mixed arg2, + mixed argn)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit min() kann man sich den kleinsten Wert der übergebenen Argumente + (arg1
+ bis argn) zurückgeben lassen. Dabei ist darauf zu achten, dass mindestens + zwei
+ Werte vorhanden sein müssen, um eine Überprüfung vornehmen + zu können.
+ Sollten Sie dennoch nur einen Wert übergeben wollen, so muss dieser + ein Array
+ sein.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$array = array(5,2,45,12,9,13,22);
echo min($array);
echo "<br>";
echo min(1,2,3,4,5,6,7);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

2
+ 1

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mt_getrandmax
zurück:zurückSeite + max
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/mt_getrandmax.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/mt_getrandmax.html new file mode 100644 index 0000000..8781a03 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/mt_getrandmax.html @@ -0,0 +1,171 @@ + + + +mt_getrandmax + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mt_getrandmax

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int mt_getrandmax(void)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mt_getrandmax() kann man sich den größten Wert zurückgeben + lassen, den
+ die Funktion mt_rand() auf der vorhandenen Plattform zurückgeben + könnte.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo mt_getrandmax();
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

UNIX: 2147483647
+ Windows: 2147483647

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mt_rand
zurück:zurückSeite + min
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/mt_rand.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/mt_rand.html new file mode 100644 index 0000000..0911b19 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/mt_rand.html @@ -0,0 +1,176 @@ + + + +mt_rand + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mt_rand

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int mt_rand([int min [, int max]])

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mt_rand() man sich eine Zufallszahl zwischen min und max zurückgeben
+ lassen.
+ Gegenüber rand() erzeugt mt_rand() wesentlich bessere Zufallszahlen. + Ohne die
+ Parameter min und max werden Zufallszahlen zwischen 0 und dem
+ plattformabhängigen Maximalwert geliefert. Dieser Maximalwert kann + mit
+ mt_getrandmax() ermittelt werden. Sie sollten unbedingt immer den Befehl
+ mt_srand() vor mt_rand() benutzen, um nicht immer dieselben Werte zu bekommen.
+

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
mt_srand((double)microtime()*1000000);
$zufall = mt_rand();
echo $zufall;
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

1722492715 //kann aber auch ein anderer Wert sein!

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mt_srand
zurück:zurückSeite + mt_getrandmax
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/mt_srand.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/mt_srand.html new file mode 100644 index 0000000..15a2512 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/mt_srand.html @@ -0,0 +1,170 @@ + + + +mt_srand + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mt_srand

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

void mt_srand(int seed)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mt_srand() legt man einen internen Startwert für den "Mersenne-Twister"-
+ Zufallszahlengenerator von mt_rand() fest. Um nicht immer die gleichen + Werte
+ zu bekommen, sollte man als Wert die aktuelle Zeit nehmen. Diese Funktion + gibt
+ keinen Ergebniswert zurück!
+

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
mt_srand((double)microtime()*1000000);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
 
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + number_format
zurück:zurückSeite + mt_rand
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/number_format.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/number_format.html new file mode 100644 index 0000000..1f42fec --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/number_format.html @@ -0,0 +1,165 @@ + + + +number_format + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

number_format

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

string number_format(float number [, int decimals [, string dec_point + [, string thousands_sep]]])

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit number_format() kann man eine Zahl (number) formatieren. Die Parameter
+ haben folgende Bedeutung:
+ number ist der zu formatierende Wert
+ decimals Anzahl der Nachkommastellen
+ string1 legt das Zeichen vor den Nachkommastellen fest
+ string2 legt das Tausendertrennzeichen fest

Die Funktion akzeptiert ein, zwei oder vier Parameter (nicht drei).

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo number_format(2120,2,".",",");
echo "<br>";
echo number_format(2120,2,",",".");
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
2,120.00
+ 2.120,00 +

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + octdec
zurück:zurückSeite + mt_srand
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/octdec.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/octdec.html new file mode 100644 index 0000000..2aa01fe --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/octdec.html @@ -0,0 +1,166 @@ + + + +octdec + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

octdec

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int octdec(string octal_string)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit octdec() wird eine oktale Zahl (octal_string) in eine dezimale Zahl
+ konvertiert.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo octdec(52);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

42

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pi
zurück:zurückSeite + number_format
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/pi.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/pi.html new file mode 100644 index 0000000..7fc407f --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/pi.html @@ -0,0 +1,167 @@ + + + +pi + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

pi

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

double pi(void)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pi() kann man sich den Näherungswert der Kreiszahl Pi zurückgeben + lassen.
+ Dieser kann dann z.B. für Kreisberechnungen genutzt werden.

+

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$pi = pi();
$r = 15;
$kreis_flaeche = $pi * pow($r,2);
$kreis_flaeche = round($kreis_flaeche,2);
$kreis_umfang = $pi * 2 * $r;
$kreis_umfang = round($kreis_umfang,2);
echo "<b>Kreisberechnung:</b><br>";
echo "r = " . $r . " mm <br>";
echo "Pi = " . $pi . "<br>";
echo "Fläche = " . $kreis_flaeche . " mm² <br>";
echo "Umfang = " . $kreis_umfang . " mm <br>";
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

Kreisberechnung:
+ r = 15 mm
+ Pi = 3.1415926535898
+ Fläche = 706.86 mm²
+ Umfang = 94.25 mm

+

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pow
zurück:zurückSeite + octdec
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/pow.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/pow.html new file mode 100644 index 0000000..9000f32 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/pow.html @@ -0,0 +1,166 @@ + + + +pow + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

pow

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

float pow(float base, float exp)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pow() kann man die Zahl base mit dem Faktor exp potenzieren (base + hoch
+ exp) lassen.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo pow(3,4); // Ergibt 3*3*3*3 = 81
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

81

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + rad2deg
zurück:zurückSeite + pi
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/rad2deg.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/rad2deg.html new file mode 100644 index 0000000..1428bc6 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/rad2deg.html @@ -0,0 +1,164 @@ + + + +rad2deg + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

rad2deg

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

double rad2deg(double number)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.4, PHP 4

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit rad2deg() wird ein übergebener Winkel (number) von Bogenmaß + in Grad
+ umgerechnet.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo rad2deg(1.5707963267949);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

90

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + rand
zurück:zurückSeite + pow
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/rand.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/rand.html new file mode 100644 index 0000000..4fee7e5 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/rand.html @@ -0,0 +1,179 @@ + + + +rand + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

rand

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int rand([int min [, int max]])

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit rand() kann man sich eine Zufallszahl zwischen min und max zurückgeben
+ lassen. Es ist darauf zu achten, dass min kleiner ist als max und max + nicht größer
+ ist als der maximale Wert, welcher auf der vorhandenen Plattform möglich + ist.
+ Bei PHP mit der Versionsnummer kleiner als 3.0.7 hat max eine andere
+ Bedeutung: Die höchstmögliche Zahl ist min + max.
+ Die Parameter min und max sind optional. Wenn Sie keine Argumente übergeben,
+ werden Zufallszahlen zwischen 0 und dem plattformabhängigen Maximalwert
+ geliefert. Dieser Maximalwert kann mit getrandmax() ermittelt werden.
+ Sie sollten unbedingt immer den Befehl srand() vor rand() benutzen, um + nicht
+ immer dieselben Werte zu bekommen.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
srand((double)microtime()*1000000);
echo rand();
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

1427835891 //kann aber auch ein anderer Wert sein!

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + round
zurück:zurückSeite + rad2deg
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/round.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/round.html new file mode 100644 index 0000000..935563c --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/round.html @@ -0,0 +1,170 @@ + + + +round + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

round

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

double round(double val [, int precision])

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit round() wird eine Zahl (val) auf- oder abgerundet. Der Parameter + precision
+ ist optional und nur in PHP4 verfügbar. Mit precision kann man die
+ Nachkommastellen angeben, nach denen gerundet wird.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo round(22.86);
echo "<br>";
echo round(22.25);
echo "<br>";
echo round(22.86 , 1);
echo "<br>";
echo round(22.25 , 1);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

23
+ 22
+ 22.9
+ 22.3

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + sin
zurück:zurückSeite + rand
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/sin.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/sin.html new file mode 100644 index 0000000..83f932d --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/sin.html @@ -0,0 +1,164 @@ + + + +sin + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

sin

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

float sin(float arg)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit sin() kann man sich den Sinuswert im Radianten zurückgeben lassen.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo sin(1);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

0.8414709848079

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + sqrt
zurück:zurückSeite + round
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/sqrt.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/sqrt.html new file mode 100644 index 0000000..1c53517 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/sqrt.html @@ -0,0 +1,159 @@ + + + +sqrt + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

sqrt

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

float sqrt(float arg)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit sqrt() kann man sich die Quadratwurzel des Wertes arg zurückgeben + lassen.

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo sqrt(64);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

8

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + srand
zurück:zurückSeite + sin
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/srand.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/srand.html new file mode 100644 index 0000000..5795684 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/srand.html @@ -0,0 +1,170 @@ + + + +srand + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

srand

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

void srand(int seed)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit srand() wird der interne Startwert für den Zufallsgenerator + rand() festgelegt.
+ Um nicht immer gleichen Zufallszahlen zu bekommen, sollte immer die aktuelle
+ Zeit als Basis genommen werden.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
srand((double)microtime()*1000000);
echo rand();
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

1427835891 //kann aber auch ein anderer Wert sein!

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + tan
zurück:zurückSeite + sqrt
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/tan.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/tan.html new file mode 100644 index 0000000..fa612ad --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mathematische_funktionen/tan.html @@ -0,0 +1,167 @@ + + + +tan + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

tan

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

float tan(float arg)

+

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit tan() kann man sich den Tangenswert im Radianten zurückgeben + lassen.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
echo tan(60);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

0.32004038937956

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + MySQL-Funktionen
zurück:zurückSeite + srand
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/index.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/index.html new file mode 100644 index 0000000..0375ddc --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/index.html @@ -0,0 +1,129 @@ + + + + + Übersicht MySQL-Funktionen + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
SEL.html +

MySQL-Funktionen

+
Kapitelseite + +

In diesem Abschnitt werden MySQL-Funktionen beschrieben.
+ Der Abschnitt besteht aus folgenden Seiten:

+ + + + +
Seite + mysql_affected_rows
+ Seite + mysql_change_user
+ Seite + mysql_close
+ Seite + mysql_connect
+ Seite + mysql_create_db
+ Seite + mysql_data_seek
+ Seite + mysql_db_query
+ Seite + mysql_drop_db
+ Seite + mysql_errno
+ Seite + mysql_error
+ Seite + mysql_fetch_array
+ Seite + mysql_fetch_field
+ Seite + mysql_fetch_lengths
+ Seite + mysql_fetch_object
+ Seite + mysql_fetch_row
+ Seite + mysql_field_flags
+ Seite + mysql_field_len
+ Seite + mysql_field_name
+ Seite + mysql_field_seek
+ Seite + mysql_field_table
+ Seite + mysql_field_type
+ Seite + mysql_free_result
+ Seite + mysql_insert_id
+ Seite + mysql_list_dbs
+ Seite + mysql_list_fields
+ Seite + mysql_list_tables
+ Seite + mysql_num_fields
+ Seite + mysql_num_rows
+ Seite + mysql_pconnect
+ Seite + mysql_query
+ Seite + mysql_result
+ Seite + mysql_select_db
+ Seite + mysql_tablename
+
+  
+
+ +
+nach oben
  +
+ + + +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_affected_rows.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_affected_rows.html new file mode 100644 index 0000000..806fefb --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_affected_rows.html @@ -0,0 +1,187 @@ + + + +mysql_affected_rows + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_affected_rows

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
int mysql_affected_rows([int + Verbindungs-Kennung])
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_affected_rows() kann man sich die Menge der Datensätze
+ zurückgeben lassen, welche von einer vorangegangene MySQL-Operation
+ betroffen waren. Sollten Sie die optionale Verbindungskennung (Verbindungs-
+ Kennung) nicht angeben, so wird die momentane Verbindung verwendet.

+

Folgende Anweisungen werden berücksichtigt:
+ DELETE
+ INSERT
+ UPDATE
+ Beachten Sie bitte, dass diese Funktion bei einer DELETE-Anweisung ohne
+ WHERE-Bedingung den Wert Null (0) zurückgeben wird, obwohl alle
+ Datensätze gelöscht wurden.

+

Wenn Sie die Anzahl der Datensätze ermitteln möchten, die von + SELECT-
+ Anweisungen zurückgegeben wurden, sollten Sie die Funktion
+ mysql_num_rows() nutzen.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
+  $db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
+  $db_select = @MYSQL_SELECT_DB($db_name);
+  $result = mysql_query("DELETE FROM selfphp_funktionen WHERE gruppe = 'Datenbanken'");
+  echo mysql_affected_rows() . " Datensätze gelöscht!";
+?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

2 Datensätze gelöscht!

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_change_user
zurück:zurückSeite + MySQL-Funktionen
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_change_user.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_change_user.html new file mode 100644 index 0000000..7a0be5e --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_change_user.html @@ -0,0 +1,175 @@ + + + +mysql_change_user + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_change_user

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
int mysql_change_user(string + Benutzername, string Kennwort [, string Datenbank [, int Verbindungs-Kennung]])
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3>= 3.0.13

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_change_user() kann man den zur Zeit angemeldeten User ändern.
+ Dabei benötigt diese Funktion den neuen User (Benutzername) und das + Passwort
+ (Kennwort), um ihn anzumelden. Mit dem optionalen Parameter Datenbank
+ können Sie einen Datenbanknamen angeben.
+ Sollte die optionale Verbindungskennung (Verbindungs-Kennung) fehlen, + so wird
+ auf die momentane Verbindungskennung zurückgegriffen.
+ Beachten Sie bitte, dass diese Funktion eine MySQL-Datenbank mit der
+ Versionsnummer 3.23.3 oder höher benötigt.

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
+$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");

if($db)
echo "Verbindung zur Datenbank wurde hergestellt";
echo "<br>";
if(mysql_change_user("matthias","self","selfphp",$db))
echo "User wurde gewechselt!";
else
echo "Konnte User nicht wechseln!"; +?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

Verbindung zur Datenbank wurde hergestellt
+ User wurde gewechselt!

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_close
zurück:zurückSeite + mysql_affected_rows
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_close.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_close.html new file mode 100644 index 0000000..09b1700 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_close.html @@ -0,0 +1,181 @@ + + + +mysql_close + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_close

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
int mysql_close([int Verbindungs-Kennung])
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_close() schließt man anhand der Verbindungskennung (Verbindungs-
+ Kennung) eine Verbindung zu einer MySQL-Datenbank. Im Erfolgsfall gibt + diese
+ Funktion true, sonst false zurück.
+ Eigentlich müssen Sie nicht-persistente Verbindungen zu einer Datenbank + nicht
+ explizit schließen, sollten dies aber tun, um einen guten Programmierstil
+ beizubehalten.
+ Beachten Sie bitte, dass mysql_close() keine persistenten Verbindungen, + welche
+ mit mysql_pconnect() hergestellt wurden, schließen kann.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
+$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");

if($db)
echo "Verbindung zur Datenbank wurde hergestellt";
echo "<br>";
/* Schliessen der Datenbank-Verbindung */
$db_close = @MYSQL_CLOSE($db);

if($db_close)
echo "Verbindung zur Datenbank geschlossen";
else
echo "Konnte Verbindung zur Datenbank nicht schliessen"; +?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

Verbindung zur Datenbank wurde hergestellt
+ Verbindung zur Datenbank geschlossen

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_connect
zurück:zurückSeite + mysql_change_user
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_connect.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_connect.html new file mode 100644 index 0000000..e684657 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_connect.html @@ -0,0 +1,200 @@ + + + +mysql_connect + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_connect

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
int mysql_connect([string hostname[:port][:/path/to/socket] + [, string Benutzername [, string Kennwort]]])
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_connect() öffnet man eine Verbindung zu einer MySQL-Datenbank.
+ Im Erfolgsfall gibt diese Funktion eine Verbindungskennung, sonst false + zurück.
+ Falls keine Verbindung erstellt werden kann, so können Sie eine eigene
+ Fehlermeldung zum Browser senden und danach das Skript abbrechen lassen
+ (siehe im Beispiel "or die").
+ Alle Parameter dieser Funktion sind optional; wenn Sie keinen Wert übergeben,
+ gelten folgende Vorgabewerte:
+ hostname - localhost
+ Benutzername - Name des Benutzers, dem der Server-Prozess gehört.
+ Kennwort - ein leeres Kennwort

+

Falls Sie Zugriff auf eine MySQL-Datenbank im Internet haben, so werden + Sie
+ die Zugangsdaten, die Sie von Ihrem Provider bekommen haben, in die dafür
+ vorgesehenen Parameter eintragen müssen (siehe Beispiel).
+ Als zusätzliche Parameter können Sie den :port (ab PHP 3.0B4) + und den
+ :/path/to/socket (ab PHP 3.0.10) mit angeben.
+ Fehlermeldungen, die eventuell auftreten und ausgegeben werden, können + Sie
+ mit einem "@" unterdrücken. Die Verbindung zur Datenbank + wird mit dem
+ Skriptende oder der Funktion mysql_close() wieder geschlossen.
+ Falls Sie mysql_connect() ein zweites Mal mit den gleichen Argumenten
+ aufrufen, so wird keine neue Verbindung aufgebaut, sondern die vorhandene
+ Verbindungskennung genutzt.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
+/* 
Allgemeine Daten fuer die Datenbankanbindung
und direkter Connect zur Datenbank. Nach
Einbindung dieses Segments kann direkt mit
MySQL-Befehlen auf die Datenbank zugegriffen
werden.
*/ + +/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
+$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
+$db_check = @MYSQL_SELECT_DB($db_name);
if($db)
echo "Verbindung zur Datenbank wurde hergestellt"; +?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

Verbindung zur Datenbank wurde hergestellt

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_create_db
zurück:zurückSeite + mysql_close
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_create_db.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_create_db.html new file mode 100644 index 0000000..88ccd83 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_create_db.html @@ -0,0 +1,183 @@ + + + +mysql_create_db + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_create_db

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
int mysql_create_db(string Datenbankname + [, int Verbindungs-Kennung])
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_create_db() kann man eine neue Datenbank (Datenbankname)
+ erzeugen. Bei der Erstellung der neuen Datenbank können Sie eine + optionale
+ Verbindungskennung (Verbindungs-Kennung) angeben. Im Erfolgsfall gibt + diese
+ Funktion true, sonst false zurück.

+

Siehe auch:

+ +

Abwärtskompatible Funktionen:

+
    +
  • mysql_createdb()
  • +
+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
+/* 
Allgemeine Daten fuer die Datenbankanbindung
und direkter Connect zur Datenbank. Nach
Einbindung dieses Segments kann direkt mit
MySQL-Befehlen auf die Datenbank zugegriffen
werden.
*/ + +/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
+$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
+if (mysql_create_db ($db_name)) 
echo "Datenbank $db_name wurde erstellt!"; +?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

Datenbank selfphp wurde erstellt!

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_data_seek
zurück:zurückSeite + mysql_connect
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_data_seek.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_data_seek.html new file mode 100644 index 0000000..d6b9480 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_data_seek.html @@ -0,0 +1,217 @@ + + + +mysql_data_seek + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_data_seek

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
int mysql_data_seek(int Ergebnis-Kennung,int + Datensatznummer)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_data_seek() bewegt man den internen Datensatz-Zeiger auf einen
+ Datensatz (Datensatznummer) unter Angabe der Ergebnis-Kennung (Ergebnis-
+ Kennung). Bei dem nächsten Aufruf der Funktion mysql_fetch_row() + wird dann
+ der entsprechende Datensatz geholt.
+ Beachten Sie bitte, dass der erste Datensatz den Index 0 hat (wie das + erste
+ Element eines Arrays).
+ Im Erfolgsfall gibt diese Funktion true, sonst false zurück.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tabelle selfphp_funktionen
idgruppebefehlversion
1Array-Funktionenarray_count_values(PHP 4 >= 4.0b4)
2Variablen-Funktionenis_double(PHP 3 )
3Verzeichnis-Funktionenchdir(PHP 3, PHP 4 )
+

*/

+
+<?PHP
+/* 
Allgemeine Daten fuer die Datenbankanbindung
und direkter Connect zur Datenbank. Nach
Einbindung dieses Segments kann direkt mit
MySQL-Befehlen auf die Datenbank zugegriffen
werden.
*/ + +/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "thunderbird";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
$db_select = @MYSQL_SELECT_DB($db_name);
$result = mysql_query("SELECT * FROM selfphp_funktionen ORDER BY id");
mysql_data_seek ($result, 1);
$row = mysql_fetch_row($result);
echo $row[0] . "<br>";
echo $row[1] . "<br>";
echo $row[2] . "<br>";
echo $row[3]; +?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

2
+ Variablen-Funktionen
+ is_double
+ (PHP 3 )

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_db_query
zurück:zurückSeite + mysql_create_db
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_db_query.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_db_query.html new file mode 100644 index 0000000..4d8cd85 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_db_query.html @@ -0,0 +1,227 @@ + + + +mysql_db_query + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_db_query

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
int mysql_db_query(string Datenbank, + string Anfrage [, int Verbindungs-Kennung])
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_db_query() stellt man eine Anfrage (Anfrage) an eine Datenbank.
+ Diese Funktion ist fast identisch mit der Funktion mysql_query(), mit + der
+ Ausnahme, dass Sie bei mysql_db_query() die Datenbank direkt angeben
+ (Datenbank) und somit vorher nicht mit mysql_select_db() eine Datenbank
+ angeben müssen.
+ Mit dem optionalen Verbindungsparameter (Verbindungs-Kennung) können + Sie
+ eine explizite Verbindungskennung angeben. Falls diese fehlt, so wird + auf die
+ aktuelle Verbindung zurückgegriffen. Sollte dies auch fehlschlagen, + so wird
+ versucht, eine Verbindung ohne Angaben von Argumenten (siehe mysql_connect)
+ zu erstellen.
+ Im Erfolgsfall gibt diese Funktion true, sonst false zurück.

+

Siehe auch:

+ +

Abwärtskompatible Funktionen:

+
    +
  • mysql()
  • +
+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tabelle selfphp_funktionen
idgruppebefehlversion
1Array-Funktionenarray_count_values(PHP 4 >= 4.0b4)
2Variablen-Funktionenis_double(PHP 3 )
3Verzeichnis-Funktionenchdir(PHP 3, PHP 4 )
+

*/

+
+<?PHP
+/* 
Allgemeine Daten fuer die Datenbankanbindung
und direkter Connect zur Datenbank. Nach
Einbindung dieses Segments kann direkt mit
MySQL-Befehlen auf die Datenbank zugegriffen
werden.
*/ + +/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "thunderbird";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
$result = mysql_db_query("selfphp","SELECT * FROM selfphp_funktionen WHERE gruppe = 'Array-Funktionen' ORDER BY id"); + while($row = mysql_fetch_row($result)){
echo $row[0] . "<br>";
echo $row[1] . "<br>";
echo $row[2] . "<br>";
echo $row[3];
} +?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

1
+ Array-Funktionen
+ array_count_values
+ (PHP 4 >= 4.0b4)

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_drop_db
zurück:zurückSeite + mysql_data_seek
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_drop_db.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_drop_db.html new file mode 100644 index 0000000..e0cb69e --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_drop_db.html @@ -0,0 +1,187 @@ + + + +mysql_drop_db + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_drop_db

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
int mysql_drop_db(string Datenbankname + [, int Verbindungs-Kennung])
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_drop_db() kann man versuchen, eine komplette Datenbank
+ (Datenbankname) vom Server zu löschen.
+ Mit dem optionalen Verbindungsparameter (Verbindungs-Kennung) können + Sie
+ eine explizite Verbindungskennung angeben. Falls diese fehlt, wird auf + die
+ aktuelle Verbindung zurückgegriffen. Sollte dies auch fehlschlagen, + so wird
+ versucht, eine Verbindung ohne Angaben von Argumenten (siehe mysql_connect)
+ zu erstellen.
+ Im Erfolgsfall gibt diese Funktion true, sonst false zurück.

+

Siehe auch:

+ +

Abwärtskompatible Funktionen:

+
    +
  • mysql_dropdb()
  • +
+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
+<?PHP
+/* 
Allgemeine Daten fuer die Datenbankanbindung
und direkter Connect zur Datenbank. Nach
Einbindung dieses Segments kann direkt mit
MySQL-Befehlen auf die Datenbank zugegriffen
werden.
*/ + +/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "thunderbird";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
if(mysql_drop_db("selfphp",$db))
echo "Datenbank gelöscht!";
else
echo "Konnte Datenbank nicht löschen!";
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

Datenbank gelöscht!

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_errno
zurück:zurückSeite + mysql_db_query
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_errno.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_errno.html new file mode 100644 index 0000000..85b2776 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_errno.html @@ -0,0 +1,207 @@ + + + +mysql_errno + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_errno

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
int mysql_errno([int Verbindungs-Kennung])
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_errno() kann man sich die Fehlernummer einer zuvor ausgeführten
+ Operation zurückgeben lassen. Da MySQL-Fehler nicht zu einer Ausgabe + von
+ Fehlermeldungen führen und das Skript normal weiter durchlaufen wird, + sollten
+ Sie sich diese Fehlernummer zurückgeben lassen, um den Fehler zu + beseitigen.
+ Mit dem optionalen Verbindungsparameter (Verbindungs-Kennung) können + Sie
+ eine explizite Verbindungskennung angeben. Falls diese fehlt, wird auf + die
+ aktuelle Verbindung zurückgegriffen. Sollte dies auch fehlschlagen, + wird
+ versucht, eine Verbindung ohne Angaben von Argumenten (siehe mysql_connect)
+ zu erstellen.

+

Im unteren Beispiel wurde versucht, auf eine Tabelle (self) zuzugreifen, + welche in
+ der Datenbank "selfphp" nicht existent ist.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + +
Aktuelle Tabellen in Datenbank selfphp
selfphp_forum
selfphp_funktionen
selfphp_guestbook
selfphp_statistik
+

*/

+
+<?PHP
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "thunderbird";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
mysql_select_db("selfphp",$db);
$result = mysql_query("SELECT * FROM self");
if($result) {
echo mysql_num_rows($result);
}
else{
echo "Fehler-Nr. " . mysql_errno()." - " .mysql_error();
}
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

Fehler-Nr. 1146 - Table 'selfphp.self' doesn't exist

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_error
zurück:zurückSeite + mysql_drop_db
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_error.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_error.html new file mode 100644 index 0000000..52fa0aa --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_error.html @@ -0,0 +1,225 @@ + + + +mysql_error + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_error

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
string mysql_error([int Verbindungs-Kennung])
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_error() kann man sich den Fehlertext einer zuvor ausgeführten
+ Operation zurückgeben lassen. Da MySQL-Fehler nicht zu einer Ausgabe + von
+ Fehlermeldungen führen und das Skript normal weiter durchlaufen wird, + sollten
+ Sie sich diesen Fehlertext zurückgeben lassen, um den Fehler zu beseitigen.
+ Mit dem optionalen Verbindungsparameter (Verbindungs-Kennung) können + Sie
+ eine explizite Verbindungskennung angeben. Falls diese fehlt, wird auf + die
+ aktuelle Verbindung zurückgegriffen. Sollte dies auch fehlschlagen, + wird
+ versucht, eine Verbindung ohne Angaben von Argumenten (siehe mysql_connect)
+ zu erstellen.

+

Im unteren Beispiel wurde versucht, auf das Feld "grupp" zuzugreifen, + das in der
+ Tabelle "selfphp_funktionen" nicht existent ist. Der Fehlertext + wurde danach an
+ eine Funktion zur weiteren Bearbeitung übergeben.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tabelle selfphp_funktionen
idgruppebefehlversion
1Array-Funktionenarray_count_values(PHP 4 >= 4.0b4)
2Variablen-Funktionenis_double(PHP 3 )
3Verzeichnis-Funktionenchdir(PHP 3, PHP 4 )
+

*/

+
+<?PHP
+function error($line,$file,$string,$error=""){
$fehler = "<b>Fehler in Zeile ".$line." in ".$file."</b> ";
$fehler .= "<br>" . $string . "<br>";
if($error) $fehler .= "<b>MySQL-Error:</b> ". $error;
die($fehler);
} +/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen"); + $db_select = @MYSQL_SELECT_DB($db_name);
$result = mysql_query("DELETE FROM selfphp_funktionen WHERE grupp = 'Datenbanken'") + or error(__LINE__,__FILE__,"Konnte Eintr&auml;ge nicht l&ouml;schen",mysql_error());
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

Fehler in Zeile 25 in /www/users/test_php/index.php
+ Konnte Einträge nicht löschen
+ MySQL-Error: Unknown column 'grupp' in 'where clause'

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_fetch_array
zurück:zurückSeite + mysql_errno
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_fetch_array.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_fetch_array.html new file mode 100644 index 0000000..d53112b --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_fetch_array.html @@ -0,0 +1,220 @@ + + + +mysql_fetch_array + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_fetch_array

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
array mysql_fetch_array(int Ergebnis-Kennung + [, int Ergebnistyp])
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_fetch_array() kann man sich anhand einer Ergebnis-Kennung
+ (Ergebnis-Kennung) Datensätze in einem assoziativen Array übergeben + lassen.
+ Dabei werden die Feldnamen innerhalb der Tabelle als Schlüssel des + Arrays
+ genutzt. Im Erfolgsfall liefert diese Funktion den aktuellen Datensatz, + sonst wird
+ false zurückgegeben.
+ Der zweite Parameter (Ergebnistyp) ist optional. Sie können in diesem + Parameter
+ folgende Konstanten übergeben:
+ MYSQL_ASSOC: Funktionsergebnis ist ein assioziatives Array.
+ MYSQL_NUM: Funktionsergebnis ist ein numerisch indiziertes Array.
+ MYSQL_BOTH: Funktionsergebnis ist ein Array, das die Elemente des
+ Ergebnisdatensatzes sowohl assoziativ als auch numerisch indiziert enthält. + Dies
+ ist der Default-Wert.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tabelle selfphp_funktionen
idgruppebefehlversion
1Array-Funktionenarray_count_values(PHP 4 >= 4.0b4)
2Variablen-Funktionenis_double(PHP 3 )
3Verzeichnis-Funktionenchdir(PHP 3, PHP 4 )
+

*/

+
+<?PHP
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
mysql_select_db("selfphp",$db);
$result = mysql_query("SELECT befehl, version FROM selfphp_funktionen ORDER BY befehl");
while($row = mysql_fetch_array($result)) {
echo $row['befehl'] . " / ";
echo $row['version'] . "<br>";
}
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

array_count_values / (PHP 4 >= 4.0b4)
+ chdir / (PHP 3, PHP 4 )
+ is_double / (PHP 3 )

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_fetch_field
zurück:zurückSeite + mysql_error
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_fetch_field.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_fetch_field.html new file mode 100644 index 0000000..162dcd6 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_fetch_field.html @@ -0,0 +1,234 @@ + + + +mysql_fetch_field + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_fetch_field

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
object mysql_fetch_field(int + Ergebnis-Kennung [, int Feld-Offset])
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_fetch_field() kann man sich anhand einer Ergebnis-Kennung
+ (Ergebnis-Kennung) ein Objekt mit Feldinformationen aus einem
+ Anfrageergebnis zurückgeben lassen. Gibt man den optionalen Parameter + Feld-
+ Offset nicht an, so werden die Informationen des nächsten Feldes + geliefert, das
+ noch nicht mit mysql_fetch_field() ausgegeben wurde.

+

Die Eigenschaften des Objekts sind folgende:
+ name - Feldname innerhalb der Tabelle
+ table - Name der Tabelle, zu der das Feld gehört
+ max_length - max. Länge des Feldes
+ not_null - 1, das Feld kann nicht Null sein
+ primary_key - 1, das Feld ist ein Primärschlüssel
+ unique_key - 1, das Feld ist ein eindeutiger Schlüssel
+ multiple_key - 1, das Feld ist ein nicht eindeutiger Schlüssel
+ numeric - 1, das Feld ist vom Typ "numeric"
+ blob - 1, das Feld ist vom Typ "BLOB"
+ type - der Feld-Typ
+ unsigned - 1, das Feld ist vorzeichenlos
+ zerofill - 1, das Feld ist "zero-filled"

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tabelle selfphp_funktionen
idgruppebefehlversion
1Array-Funktionenarray_count_values(PHP 4 >= 4.0b4)
2Variablen-Funktionenis_double(PHP 3 )
3Verzeichnis-Funktionenchdir(PHP 3, PHP 4 )
+

*/

+
+<?PHP
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);

mysql_select_db("selfphp",$db);
$result = mysql_query("SELECT version FROM selfphp_funktionen WHERE id = '1'" );
$row = mysql_fetch_row($result);
for($x=0; $x<count($row); $x++) {
$str = mysql_fetch_field($result,$x);
echo "name: " . $str -> name . "<br>";
echo "table: " . $str -> table . "<br>";
echo "max_length: " . $str -> max_length . "<br>";
echo "not_null: " . $str -> not_null . "<br>";
echo "primary_key: " . $str -> primary_key . "<br>";
echo "unique_key: " . $str -> unique_key . "<br>";
echo "multiple_key" . $str -> multiple_key . "<br>";
echo "numeric: " . $str -> numeric . "<br>";
echo "blob: " . $str -> blob . "<br>";
echo "type: " . $str -> type . "<br>";
echo "unsigned: " . $str -> unsigned . "<br>";
echo "zerofill: " . $str -> zerofill;
} +?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

name: version
+ table: selfphp_funktionen
+ max_length: 16
+ not_null: 0
+ primary_key: 0
+ unique_key: 0
+ multiple_key0
+ numeric: 0
+ blob: 0
+ type: string
+ unsigned: 0
+ zerofill: 0

+

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_fetch_lengths
zurück:zurückSeite + mysql_fetch_array
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_fetch_lengths.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_fetch_lengths.html new file mode 100644 index 0000000..5afcaea --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_fetch_lengths.html @@ -0,0 +1,223 @@ + + + +mysql_fetch_lengths + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_fetch_lengths

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
array mysql_fetch_lengths(int + Ergebnis-Kennung)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_fetch_lengths() kann man sich anhand einer Ergebnis-Kennung
+ (Ergebnis-Kennung) die Länge eines jeden Feldes in einem Datensatz
+ zurückgeben lassen.

+

Als Rückgabewert dieser Funktion erhalten Sie ein Array mit den + Längen der
+ Felder, im Fehlerfall wird false zurückgegeben.

+

Folgende Funktionen werden unterstützt:

+ +

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tabelle selfphp_funktionen
idgruppebefehlversion
1Array-Funktionenarray_count_values(PHP 4 >= 4.0b4)
2Variablen-Funktionenis_double(PHP 3 )
3Verzeichnis-Funktionenchdir(PHP 3, PHP 4 )
4Mail-Funktionenmail(PHP 3. PHP 4 )
+

*/

+
+<?PHP
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
mysql_select_db("selfphp",$db);
$result = mysql_query("SELECT * FROM selfphp_funktionen");
while($row = mysql_fetch_row($result)) {
$laenge = mysql_fetch_lengths($result);
echo "$row[1] ($laenge[1])" . " - ";
echo "$row[2] ($laenge[2])<BR>";
} +?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

Array-Funktionen (16) - array_count_values (18)
+ Variablen-Funktionen (20) - is_double (9)
+ Verzeichnis-Funktionen (22) - chdir (5)
+ Mail-Funktionen (15) - mail (4)

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_fetch_object
zurück:zurückSeite + mysql_fetch_field
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_fetch_object.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_fetch_object.html new file mode 100644 index 0000000..d4bbd2a --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_fetch_object.html @@ -0,0 +1,224 @@ + + + +mysql_fetch_object + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_fetch_object

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
object mysql_fetch_object(int + Ergebnis-Kennung [, int Ergebnistyp]))
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_fetch_object() kann man sich anhand einer Ergebnis-Kennung
+ (Ergebnis-Kennung) Datensätze als ein Objekt mit Eigenschaften, die + den Feldern
+ innerhalb der Tabelle entsprechen, übergeben lassen. Dabei können + Sie anhand
+ der Feldnamen auf die Werte zugreifen. Im Erfolgsfall liefert diese Funktion + den
+ aktuellen Datensatz, sonst wird false zurückgegeben.
+ Der zweite Parameter (Ergebnistyp) ist optional. Sie können in diesem + Parameter
+ dieselben Konstanten wie in der Funktion mysql_fetch_array() übergeben:
+ MYSQL_ASSOC, MYSQL_NUM oder MYSQL_BOTH.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tabelle selfphp_funktionen
idgruppebefehlversion
1Array-Funktionenarray_count_values(PHP 4 >= 4.0b4)
2Variablen-Funktionenis_double(PHP 3 )
3Verzeichnis-Funktionenchdir(PHP 3, PHP 4 )
4Mail-Funktionenmail(PHP 3. PHP 4 )
+

*/

+
+<?PHP
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
mysql_select_db("selfphp",$db);
$result = mysql_query("SELECT * FROM selfphp_funktionen");
while ($row = mysql_fetch_object ($result)) {
echo $row -> id . " - ";
echo $row -> gruppe . " - ";
echo $row -> befehl . " - ";
echo $row -> version . "<br>";
} +?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

1 - Array-Funktionen - array_count_values - (PHP 4 >= 4.0b4)
+ 2 - Variablen-Funktionen - is_double - (PHP 3 )
+ 3 - Verzeichnis-Funktionen - chdir - (PHP 3, PHP 4)
+ 4 - Mail-Funktionen - mail - (PHP 3, PHP 4)

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_fetch_row
zurück:zurückSeite + mysql_fetch_lengths
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_fetch_row.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_fetch_row.html new file mode 100644 index 0000000..61a6c09 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_fetch_row.html @@ -0,0 +1,220 @@ + + + +mysql_fetch_row + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_fetch_row

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
array mysql_fetch_row(int Ergebnis-Kennung)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_fetch_row() kann man sich anhand einer Ergebnis-Kennung
+ (Ergebnis-Kennung) einen Datensatz in Form eines indizierten Arrays übergeben
+ lassen.
+ Im Erfolgsfall liefert diese Funktion den aktuellen Datensatz, sonst wird + false
+ zurückgegeben.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tabelle selfphp_funktionen
idgruppebefehlversion
1Array-Funktionenarray_count_values(PHP 4 >= 4.0b4)
2Variablen-Funktionenis_double(PHP 3 )
3Verzeichnis-Funktionenchdir(PHP 3, PHP 4 )
4Mail-Funktionenmail(PHP 3. PHP 4 )
+

*/

+
+<?PHP
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
mysql_select_db("selfphp",$db);
$result = mysql_query("SELECT * FROM selfphp_funktionen");
while ($row = mysql_fetch_row ($result)) {
echo $row[0] . " - ";
echo $row[1] . " - ";
echo $row[2] . " - ";
echo $row[3] . "<br>";
} +?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

1 - Array-Funktionen - array_count_values - (PHP 4 >= 4.0b4)
+ 2 - Variablen-Funktionen - is_double - (PHP 3 )
+ 3 - Verzeichnis-Funktionen - chdir - (PHP 3, PHP 4)
+ 4 - Mail-Funktionen - mail - (PHP 3, PHP 4)

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_field_flags
zurück:zurückSeite + mysql_fetch_object
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_flags.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_flags.html new file mode 100644 index 0000000..ef5d153 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_flags.html @@ -0,0 +1,246 @@ + + + +mysql_field_flags + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_field_flags

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

string mysql_field_flags(int Ergebnis-Kennung, int Feldoffset)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_field_flags() kann man sich anhand einer Ergebnis-Kennung
+ (Ergebnis-Kennung) die Flags eines Feldes (Feldoffset) in einem Anfrageergebnis
+ zurückgeben lassen.
+ Unter einem Flag versteht man die erweiterten Eigenschaften eines Feldes.
+ Die übergebenen Flags werden als einzelne Worte getrennt durch ein + Leerzeichen
+ zurückgegeben. Folgende Flags werden unterstützt (ist von MySQL + abhängig):
+ not_null
+ primary key
+ unique_key
+ multiple_key
+ blob
+ unsigned
+ zerofill
+ binary
+ enum
+ auto_increment
+ timestamp

+

Abwärtskompatible Funktionen:

+
    +
  • mysql_fieldflags()
  • +
+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeNullDefaultExtra
idint(4)No0auto_increment
gruppevarchar(50)Yes
befehlvarchar(50)Yes
versionvarchar(50)Yes
+
+ + + + + + + + + + + +
KeynameUniqueField
PRIMARYYesid
+

*/

+
+<?PHP
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
mysql_select_db("selfphp",$db);
$result = mysql_query("SELECT id FROM selfphp_funktionen");
$flags = explode(" ", mysql_field_flags($result,0));
for($x=0;$x<count($flags);$x++){
echo $flags[$x];
echo "<br>";
} +?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

not_null
+ primary_key
+ auto_increment

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_field_len
zurück:zurückSeite + mysql_fetch_row
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_len.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_len.html new file mode 100644 index 0000000..35598d8 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_len.html @@ -0,0 +1,219 @@ + + + +mysql_field_len + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_field_len

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int mysql_field_len(int Ergebnis-Kennung, int Feldoffset)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_field_len() kann man sich anhand einer Ergebnis-Kennung (Ergebnis-
+ Kennung) und des Feldindex (Feldoffset) die Länge eines Feldes zurückgeben
+ lassen.

+

Abwärtskompatible Funktionen:

+
    +
  • mysql_fieldlen()
  • +
+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeNullDefaultExtra
idint(4)No0auto_increment
gruppevarchar(50)Yes
befehlvarchar(51)Yes
versionvarchar(52)Yes
+

*/

+
+<?PHP
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
mysql_select_db("selfphp",$db); + $result = mysql_query("SELECT * FROM selfphp_funktionen");
$menge = mysql_num_rows($result);
for($x=0;$x<$menge;$x++){
echo mysql_field_len($result,$x);
echo "<br>";
} +?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

4
+ 50
+ 51
+ 52

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_field_name
zurück:zurückSeite + mysql_field_flags
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_name.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_name.html new file mode 100644 index 0000000..00b7691 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_name.html @@ -0,0 +1,219 @@ + + + +mysql_field_name + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_field_name

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

string mysql_field_name(int Ergebnis-Kennung, int Feldoffset)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_field_name() kann man sich anhand einer Ergebnis-Kennung
+ (Ergebnis-Kennung) und des Feldindex (Feldoffset) den Namen eines Feldes
+ zurückgeben lassen.

+

Abwärtskompatible Funktionen:

+
    +
  • mysql_fieldname()
  • +
+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeNullDefaultExtra
idint(4)No0auto_increment
gruppevarchar(50)Yes
befehlvarchar(51)Yes
versionvarchar(52)Yes
+

*/

+
+<?PHP
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
mysql_select_db("selfphp",$db); + $result = mysql_query("SELECT * FROM selfphp_funktionen");
$menge = mysql_num_rows($result);
for($x=0;$x<$menge;$x++){
echo mysql_field_name($result,$x);
echo "<br>";
} +?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

id
+ gruppe
+ befehl
+ version

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_field_seek
zurück:zurückSeite + mysql_field_len
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_seek.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_seek.html new file mode 100644 index 0000000..9bbaa0d --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_seek.html @@ -0,0 +1,219 @@ + + + +mysql_field_seek + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_field_seek

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int mysql_field_seek(int Ergebnis-Kennung, int Feldoffset)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_field_seek() kann man anhand einer Ergebnis-Kennung (Ergebnis-
+ Kennung) den Feldzeiger auf den angegebenen Feldindex (Feldoffset) setzen.
+ Wird bei dem nächsten Aufruf der Funktion mysql_fetch_field() kein + Feldindex
+ übergeben, so wird der zuvor mit mysql_field_seek() bestimmte Feldindex
+ genutzt.
+ Im unteren Beispiel wurde mittels "SELECT" eine Anfrage auf + die Felder
+ "gruppe" und "befehl" gestellt. Diese beiden Felder + haben intern den Feldindex
+ "gruppe=0 , befehl=1". Durch mysql_field_seek() wurde direkt + auf das Feld 1
+ (befehl) verwiesen.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tabelle selfphp_funktionen
idgruppebefehlversion
1Array-Funktionenarray_count_values(PHP 4 >= 4.0b4)
2Variablen-Funktionenis_double(PHP 3 )
3Verzeichnis-Funktionenchdir(PHP 3, PHP 4 )
+

*/

+
+<?PHP
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
mysql_select_db("selfphp",$db); + $result = mysql_query("SELECT gruppe, befehl FROM selfphp_funktionen");
mysql_field_seek($result,1);
$row = mysql_fetch_field($result);
echo $row->name;
echo "<br>";
echo $row->max_length; +?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

befehl
+ 18

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_field_table
zurück:zurückSeite + mysql_field_name
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_table.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_table.html new file mode 100644 index 0000000..f72d931 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_table.html @@ -0,0 +1,216 @@ + + + +mysql_field_table + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_field_table

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

string mysql_field_table(int Ergebnis-Kennung, int Feldoffset)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_field_table() kann man sich anhand einer Ergebnis-Kennung
+ (Ergebnis-Kennung) und des Feldindex (Feldoffset) den aktuellen
+ Tabellennamen, der dem zurückgegebenen Feld zugehörig ist, zurückgeben
+ lassen.
+ Im unteren Beispiel wurde mittels "SELECT" eine Anfrage auf + die Felder
+ "gruppe" und "befehl" gestellt. Diese beiden Felder + haben intern den Feldindex
+ "gruppe=0 , befehl=1". Durch mysql_field_table() wurde nun der + Tabellennamen
+ von Feld 1 (befehl) angefordert.

+

Abwärtskompatible Funktionen:

+
    +
  • mysql_fieldtable()
  • +
+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tabelle selfphp_funktionen
idgruppebefehlversion
1Array-Funktionenarray_count_values(PHP 4 >= 4.0b4)
2Variablen-Funktionenis_double(PHP 3 )
3Verzeichnis-Funktionenchdir(PHP 3, PHP 4 )
+

*/

+
+<?PHP
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
mysql_select_db("selfphp",$db); + $result = mysql_query("SELECT gruppe, befehl FROM selfphp_funktionen");
echo mysql_field_table($result,1); +?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

selfphp_funktionen

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_field_type
zurück:zurückSeite + mysql_field_seek
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_type.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_type.html new file mode 100644 index 0000000..e001c01 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_field_type.html @@ -0,0 +1,228 @@ + + + +mysql_field_type + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_field_type

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

string mysql_field_type(int Ergebnis-Kennung, int Feldoffset)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_field_type() kann man sich anhand einer Ergebnis-Kennung
+ (Ergebnis-Kennung) und des Feldindex (Feldoffset) den Typ eines Feldes
+ zurückgeben lassen.

+

Dieser kann unter anderem folgende Werte besitzen:
+ blob
+ date
+ datetime
+ int
+ real
+ string
+ time
+ timestamp
+ year

+

Abwärtskompatible Funktionen:

+
    +
  • mysql_fieldtype()
  • +
+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeNullDefaultExtra
idint(4)No0auto_increment
gruppevarchar(50)Yes
befehlvarchar(51)Yes
versionvarchar(52)Yes
+

*/

+
+<?PHP
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
mysql_select_db("selfphp",$db); + $result = mysql_query("SELECT * FROM selfphp_funktionen");
$menge = mysql_num_fields($result);
for($x=0;$x<$menge;$x++) {
$type = mysql_field_type($result,$x);
$name = mysql_field_name($result,$x);
echo "Feld " . $name . " ist vom Typ " . $type;
echo "<br>";
}
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

Feld id ist vom Typ int
+ Feld gruppe ist vom Typ string
+ Feld befehl ist vom Typ string
+ Feld version ist vom Typ string

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_free_result
zurück:zurückSeite + mysql_field_table
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_free_result.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_free_result.html new file mode 100644 index 0000000..447cf53 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_free_result.html @@ -0,0 +1,216 @@ + + + +mysql_free_result + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_free_result

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int mysql_free_result(int Ergebnis-Kennung)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_free_result() kann man anhand einer Ergebnis-Kennung (Ergebnis-
+ Kennung) den belegten Speicher wieder freigeben.
+ Diese Funktion ist auf Servern mit sehr wenig Arbeitsspeicher sinnvoll, + um die
+ Resourcen wieder freizugeben. Nach Beendigung des Skripts wird der Speicher
+ automatisch wieder freigegeben.
+ Beachten Sie, dass nach dieser Funktion nicht mehr auf das Ergebnis Ihrer
+ Anfrage zurückgegriffen werden kann, da dieses entfernt wurde.

+

Abwärtskompatible Funktionen:

+
    +
  • mysql_freeresult()
  • +
+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tabelle selfphp_funktionen
idgruppebefehlversion
1Array-Funktionenarray_count_values(PHP 4 >= 4.0b4)
2Variablen-Funktionenis_double(PHP 3 )
3Verzeichnis-Funktionenchdir(PHP 3, PHP 4 )
+

*/

+
+<?PHP
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
mysql_select_db("selfphp",$db); + $result = mysql_query("SELECT befehl, version FROM selfphp_funktionen ORDER BY befehl"); + while($row = mysql_fetch_array($result)) {
echo $row['befehl'] . " / ";
echo $row['version'] . "<br>";
}
if(mysql_free_result($result));
echo "Speicher wurde wieder freigegeben";
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

array_count_values / (PHP 4 >= 4.0b4)
+ chdir / (PHP 3, PHP 4 )
+ is_double / (PHP 3 )
+ Speicher wurde wieder freigegeben

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_insert_id
zurück:zurückSeite + mysql_field_type
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_insert_id.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_insert_id.html new file mode 100644 index 0000000..41f43ab --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_insert_id.html @@ -0,0 +1,260 @@ + + + +mysql_insert_id + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_insert_id

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int mysql_insert_id(int Verbindungs-Kennung)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_insert_id() kann man sich anhand einer Verbindungskennung
+ (Verbindungs-Kennung) die Kennung des Datensatzes zurückgeben lassen, + der
+ bei einer vorangegangenen INSERT-Operation angelegt wurde. Die
+ zurückgegebene Kennung ist ein Wert, welcher von der INSERT-Anweisung + für
+ ein automatisch inkrementiertes Feld (AUTO_INCREMENT) vergeben wurde
+ (siehe Beispiel).
+ Falls der Wert für die Verbindungskennung (Verbindungs-Kennung) fehlt, + so
+ wird auf die aktuelle Verbindung zurückgegriffen.

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tabelle selfphp_funktionen
idgruppebefehlversion
1Array-Funktionenarray_count_values(PHP 4 >= 4.0b4)
2Variablen-Funktionenis_double(PHP 3 )
3Verzeichnis-Funktionenchdir(PHP 3, PHP 4 )
4Mail-Funktionenmail(PHP 3. PHP 4 )
+

*/

+
+<?PHP
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
mysql_select_db("selfphp",$db); + $result = mysql_query("INSERT INTO selfphp_funktionen (gruppe,befehl,version) + VALUES ('Variablen-Funktionen','empty','(PHP 3 )')"); + $var = mysql_insert_id();
echo $var;
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

5

+

Datenbank nachher:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tabelle selfphp_funktionen
idgruppebefehlversion
1Array-Funktionenarray_count_values(PHP 4 >= 4.0b4)
2Variablen-Funktionenis_double(PHP 3 )
3Verzeichnis-Funktionenchdir(PHP 3, PHP 4 )
4Mail-Funktionenmail(PHP 3. PHP 4 )
5Variablen-Funktionenempty(PHP 3 )
+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_list_dbs
zurück:zurückSeite + mysql_free_result
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_list_dbs.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_list_dbs.html new file mode 100644 index 0000000..5a84618 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_list_dbs.html @@ -0,0 +1,190 @@ + + + +mysql_list_dbs + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_list_dbs

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int mysql_list_dbs(int Verbindungs-Kennung)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_list_dbs() kann man sich anhand einer Verbindungskennung
+ (Verbindungs-Kennung) eine Liste aller verfügbaren Datenbanken auf + dem
+ Datenbankserver zurückgeben lassen. Um das Ergebnis zu durchlaufen, + sollten
+ Sie die Funktion mysql_tablename() nutzen.
+ Falls der Wert für die Verbindungskennung (Verbindungs-Kennung) fehlt, + so
+ wird auf die aktuelle Verbindung zurückgegriffen.

+

Siehe auch:

+ +

Abwärtskompatible Funktionen:

+
    +
  • mysql_listdbs()
  • +
+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
+<?PHP
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
mysql_select_db("selfphp",$db); + $menge = mysql_num_rows($result);
for($x=0; $x<$menge; $x++) {
$database = mysql_tablename($result,$x);
echo $database;
echo "<br>";
}
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

chat
+ login
+ mysql
+ newsletter
+ selfphp
+ shop

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_list_fields
zurück:zurückSeite + mysql_insert_id
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_list_fields.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_list_fields.html new file mode 100644 index 0000000..6dbe7ee --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_list_fields.html @@ -0,0 +1,241 @@ + + + +mysql_list_fields + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_list_fields

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int mysql_list_fields(string Datenbankname, string Tabellenname + [, int Verbindungs-Kennung])

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_list_fields() kann man sich anhand einer Verbindungskennung
+ (Verbindungs-Kennung), des Datenbanknamens (Datenbankname) und des
+ Tabellennames (Tabellenname) alle Felder einer Tabelle auflisten lassen. + Als
+ Rückgabewert dieser Funktion erhalten Sie einen ganzzahlig positiven + Wert als
+ Ergebnis-Kennung, welche Sie für andere Funktionen wie z.B.
+ mysql_field_name() nutzen können.
+ Falls der Wert für die Verbindungskennung (Verbindungs-Kennung) fehlt, + so
+ wird auf die aktuelle Verbindung zurückgegriffen.
+ Auf mögliche Fehlermeldungen können Sie nur direkt zugreifen, + wenn Sie der
+ Funktion ein "@" voranstellen, sonst wird die Fehlermeldung + in die Variable
+ "$phperrmsg" geschrieben.

+

Mit folgenden Funktionen können Sie auf die Ergebnis-Kennung zurückgreifen:

+ +

Abwärtskompatible Funktionen:

+
    +
  • mysql_listfields()
  • +
+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeNullDefaultExtra
idint(4)No0auto_increment
gruppevarchar(50)Yes
befehlvarchar(51)Yes
versionvarchar(52)Yes
+

*/

+
<?PHP
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
$result = mysql_list_fields($db_name, "selfphp_funktionen",$db);
$menge = mysql_num_fields($result);
for($x=0;$x<$menge;$x++){
$type = mysql_field_type($result,$x);
$name = mysql_field_name($result,$x);
$len = mysql_field_len($result,$x);
$flags = mysql_field_flags($result,$x);
echo "Feld <b>$name</b>:<br>";
echo "&nbsp;&nbsp;&nbsp;$type [$len]";
echo "$flags<BR>";
}
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

Feld id:
+    int [4] not_null primary_key auto_increment
+ Feld gruppe:
+    string [50]
+ Feld befehl:
+    string [51]
+ Feld version:
+    string [52]

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_list_tables
zurück:zurückSeite + mysql_list_dbs
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_list_tables.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_list_tables.html new file mode 100644 index 0000000..ede23a2 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_list_tables.html @@ -0,0 +1,201 @@ + + + +mysql_list_tables + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_list_tables

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int mysql_list_tables(string Datenbankname [, int Verbindungs-Kennung])

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_list_tables() kann man sich anhand eines Datenbanknamens
+ (Datenbankname) und einer optionalen Verbindungskennung (Verbindungs-
+ Kennung) alle Tabellen einer Datenbank zurückgeben lassen. Als Rückgabewert
+ dieser Funktion erhalten Sie einen ganzzahlig positiven Wert als Ergebnis-
+ Kennung; dieses Ergebnis können Sie mit der Funktion mysql_tablename()
+ durchlaufen, um die Namen der Tabellen abzurufen.
+ Sollte die Verbindungskennung fehlen, so wird auf die aktuelle Verbindung
+ zurückgegriffen.

+

Abwärtskompatible Funktionen:

+
    +
  • mysql_listtables()
  • +
+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + +
Aktuelle Tabellen in Datenbank selfphp
selfphp_forum
selfphp_funktionen
selfphp_guestbook
selfphp_statistik
+

*/

+
<?PHP
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "thunderbird";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
$result = mysql_list_tables($db_name,$db);
$menge = mysql_num_rows($result);
for($x=0;$x<$menge;$x++){
$table_name = mysql_tablename($result,$x);
echo $table_name;
echo "<br>";
}
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

selfphp_forum
+ selfphp_funktionen
+ selfphp_guestbook
+ selfphp_statistik

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_num_fields
zurück:zurückSeite + mysql_list_fields
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_num_fields.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_num_fields.html new file mode 100644 index 0000000..1013397 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_num_fields.html @@ -0,0 +1,218 @@ + + + +mysql_num_fields + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_num_fields

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int mysql_num_fields(int Ergebnis-Kennung)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_num_fields() kann man sich anhand einer Ergebnis-Kennung
+ (Ergebnis-Kennung) die Anzahl der Felder eines Ergebnisses zurückgeben
+ lassen.

+

Siehe auch:

+ +

Abwärtskompatible Funktionen:

+
    +
  • mysql_numfields()
  • +
+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tabelle selfphp_funktionen
idgruppebefehlversion
1Array-Funktionenarray_count_values(PHP 4 >= 4.0b4)
2Variablen-Funktionenis_double(PHP 3 )
3Verzeichnis-Funktionenchdir(PHP 3, PHP 4 )
4Mail-Funktionenmail(PHP 3. PHP 4 )
+

*/

+
<?PHP
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
$db_select = @MYSQL_SELECT_DB($db_name);
$result = mysql_query("SELECT * FROM selfphp_funktionen");
$menge = mysql_num_fields($result);
echo $menge;
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

4

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_num_rows
zurück:zurückSeite + mysql_list_tables
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_num_rows.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_num_rows.html new file mode 100644 index 0000000..745aeba --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_num_rows.html @@ -0,0 +1,220 @@ + + + +mysql_num_rows + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_num_rows

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int mysql_num_rows(int Ergebnis-Kennung)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_num_rows() kann man sich anhand einer Ergebnis-Kennung
+ (Ergebnis-Kennung) die Anzahl der Datensätze eines Ergebnisses zurückgeben
+ lassen.

+

Siehe auch:

+ +

Abwärtskompatible Funktionen:

+
    +
  • mysql_numrows()
  • +
+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tabelle selfphp_funktionen
idgruppebefehlversion
1Array-Funktionenarray_count_values(PHP 4 >= 4.0b4)
2Variablen-Funktionenis_double(PHP 3 )
3Verzeichnis-Funktionenchdir(PHP 3, PHP 4 )
4Mail-Funktionenmail(PHP 3. PHP 4 )
+

*/

+
<?PHP
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
$db_select = @MYSQL_SELECT_DB($db_name);
$result = mysql_query("SELECT * FROM selfphp_funktionen");
$menge = mysql_num_rows($result);
echo "<b>$menge Datensätze gefunden<br></b>";
while($row = mysql_fetch_row($result)){
echo $row[1] . " - " . $row[2];
echo "<br><br>";
}
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

4 Datensätze gefunden
+ Array-Funktionen - array_count_values

+

Variablen-Funktionen - is_double

+

Verzeichnis-Funktionen - chdir

+

Mail-Funktionen - mail

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_pconnect
zurück:zurückSeite + mysql_num_fields
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_pconnect.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_pconnect.html new file mode 100644 index 0000000..b1d10dc --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_pconnect.html @@ -0,0 +1,209 @@ + + + +mysql_pconnect + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_pconnect

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int mysql_pconnect([string hostname[:port][:/path/to/socket] [, + string Benutzername [, string Kennwort]]])

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_pconnect() öffnet man eine persistente Verbindung zu einer + MySQL-
+ Datenbank. Im Erfolgsfall gibt diese Funktion eine Verbindungskennung, + sonst
+ false zurück.
+ Falls keine Verbindung erstellt werden kann, können Sie eine eigene
+ Fehlermeldung zum Browser senden und danach das Skript abbrechen lassen
+ (siehe im Beispiel "or die").
+ Alle Parameter dieser Funktion sind optional; wenn Sie keinen Wert übergeben,
+ gelten folgende Vorgabewerte:
+ hostname - localhost
+ Benutzername - Name des Benutzers, dem der Server-Prozess gehört
+ Kennwort - ein leeres Kennwort

+

Falls Sie Zugriff auf eine MySQL-Datenbank im Internet haben, werden + Sie
+ die Zugangsdaten, die Sie von Ihrem Provider bekommen haben, in die dafür
+ vorgesehenen Parameter eintragen müssen (siehe Beispiel).
+ Als zusätzliche Parameter können Sie den :port (ab PHP 3.0B4) + und den
+ :/path/to/socket (ab PHP 3.0.10) mit angeben.
+ Fehlermeldungen, die eventuell auftreten und ausgegeben werden, können + Sie mit
+ einem "@" unterdrücken.
+ Die Verbindung zur Datenbank wird nicht mit dem Skriptende geschlossen.

+

Folgendes ist gegenüber mysql_connect() anders:

+
    +
  1. Es wird versucht, vor dem Verbindungsaufbau eine persistente Verbindung
    + zum gleichen Host mit dem gleichen Benutzer und Passwort zu erstellen.
    + Gelingt dies, so wird die Verbindungskennung dieser Verbindung
    + zurückgegeben.
  2. +
  3. Die Verbindung wird nicht mit dem Beenden des Skripts geschlossen, + sondern
    + bleibt bestehen für einen zukünftigen Verbindungsaufbau.
    +
  4. +
+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
+/* 
Allgemeine Daten fuer die Datenbankanbindung
und direkter Connect zur Datenbank. Nach
Einbindung dieses Segments kann direkt mit
MySQL-Befehlen auf die Datenbank zugegriffen
werden.
*/
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_PCONNECT($db_server,$db_user,$db_passwort) + or die ("Konnte keine Verbindung zur Datenbank herstellen"); + $db_check = @MYSQL_SELECT_DB($db_name);
if($db)
echo "Verbindung zur Datenbank wurde hergestellt";
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

Verbindung zur Datenbank wurde hergestellt

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_query
zurück:zurückSeite + mysql_num_rows
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_query.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_query.html new file mode 100644 index 0000000..20ef8ed --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_query.html @@ -0,0 +1,229 @@ + + + +mysql_query + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_query

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int mysql_query(string Anfrage [, int Verbindungs-Kennung])

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_query() sendet man eine SQL-Anfrage (Anfrage) an einen
+ Datenbankserver. Wird der optionale Parameter der Verbindungskennung
+ (Verbindungs-Kennung) nicht angegeben, so wird versucht, eine Verbindung
+ ohne Angaben von Argumenten (siehe mysql_connect) aufzubauen.
+ Die Funktion mysql_query() liefert im Erfolgsfall true, sonst false zurück.
+ Beachten Sie bitte, dass diese Funktion keine Angaben über die Anzahl + der
+ Datensätze zurückgibt.
+ Um auf die Datensätze zugreifen zu können, sollten Sie die unten + stehenden
+ Funktionen nutzen.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tabelle selfphp_funktionen
idgruppebefehlversion
1Array-Funktionenarray_count_values(PHP 4 >= 4.0b4)
2Variablen-Funktionenis_double(PHP 3 )
3Verzeichnis-Funktionenchdir(PHP 3, PHP 4 )
4Mail-Funktionenmail(PHP 3. PHP 4 )
+

*/

+
<?PHP
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
$db_select = @MYSQL_SELECT_DB($db_name);
$result = mysql_query("SELECT * FROM selfphp_funktionen");
$menge = mysql_num_rows($result);
echo "<b>$menge Datensätze gefunden<br></b>";
while($row = mysql_fetch_row($result)){
echo $row[1] . " - " . $row[2];
echo "<br><br>";
}
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

5 Datensätze gefunden
+ Array-Funktionen - array_count_values

+

Variablen-Funktionen - is_double

+

Verzeichnis-Funktionen - chdir

+

Mail-Funktionen - mail

+

Variablen-Funktionen - empty

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_result
zurück:zurückSeite + mysql_pconnect
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_result.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_result.html new file mode 100644 index 0000000..a3ccbc9 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_result.html @@ -0,0 +1,233 @@ + + + +mysql_result + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_result

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int mysql_result(int Ergebnis-Kennung, int Datensatz-Index [, + mixed Feld])

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_result() kann man sich anhand einer Ergebnis-Kennung (Ergebnis-
+ Kennung) und der Angabe des Datensatz-Index (Datensatz-Index) den Inhalt
+ eines Feldes zurückgeben lassen. Mit dem optionalen Paremeter Feld + kann man
+ einen Feldnamen in der Form "tablename.feldname" (siehe Beispiel) + angeben.
+ Sollte das Feld ein Alias besitzen (select gruppe as group), so ist dieser + Alias als
+ Feldname zu nutzen.
+ Falls die MySQL-Anfrage sehr viele Datensätze enthält, sollten + Sie aus
+ Geschwindigkeitsgründen auf die unten stehenden Funktionen zurückgreifen.

+

Schnellere Funktionen:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+

/*
+
Datenbank:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tabelle selfphp_funktionen
idgruppebefehlversion
1Array-Funktionenarray_count_values(PHP 4 >= 4.0b4)
2Variablen-Funktionenis_double(PHP 3 )
3Verzeichnis-Funktionenchdir(PHP 3, PHP 4 )
4Mail-Funktionenmail(PHP 3. PHP 4 )
+

*/

+
<?PHP
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort); + $db_select = @MYSQL_SELECT_DB($db_name);
$result = mysql_query("SELECT * FROM selfphp_funktionen");
for($x=0;$x<mysql_num_rows($result);$x++) {
$str_1 = mysql_result($result,$x, "selfphp_funktionen.id");
echo "id: $str_1 <br>";
$str_2 = mysql_result($result,$x,1);
echo "gruppe: $str_2 <br><br>";
}
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

id: 1
+ gruppe: Array-Funktionen

+

id: 2
+ gruppe: Variablen-Funktionen

+

id: 3
+ gruppe: Verzeichnis-Funktionen

+

id: 4
+ gruppe: Mail-Funktionen

+

id: 5
+ gruppe: Variablen-Funktionen

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_select_db
zurück:zurückSeite + mysql_query
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_select_db.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_select_db.html new file mode 100644 index 0000000..1608c59 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_select_db.html @@ -0,0 +1,188 @@ + + + +mysql_select_db + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_select_db

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int mysql_select_db(string Datenbankname [, int Verbindungs-Kennung])

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_select_db() wählt man eine Datenbank aus. Im Erfolgsfall + gibt diese
+ Funktion true, sonst false zurück.
+ Als Parameter wird der Datenbankname (Datenbankname) gefordert. Sie können
+ zusätzlich eine Verbindungskennung (Verbindungs-Kennung) mit angeben. + Fehlt
+ die Verbindungskennung, so wird die aktuelle Verbindungskennung genutzt.
+ Fehlt auch diese Kennung, so wird versucht, eine Verbindung ohne Angaben + von
+ Argumenten (siehe mysql_connect) herzustellen.

+

Siehe auch:

+ +

Abwärtskompatible Funktionen:

+
    +
  • mysql_selectdb()
  • +
+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
+/* 
Allgemeine Daten fuer die Datenbankanbindung
und direkter Connect zur Datenbank. Nach
Einbindung dieses Segments kann direkt mit
MySQL-Befehlen auf die Datenbank zugegriffen
werden.
*/
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_PCONNECT($db_server,$db_user,$db_passwort) + or die ("Konnte keine Verbindung zur Datenbank herstellen");
$db_select = @MYSQL_SELECT_DB($db_name);
if($db_select)
echo "Datenbank wurde ausgewählt";
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

Datenbank wurde ausgewählt

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + mysql_tablename
zurück:zurückSeite + mysql_result
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_tablename.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_tablename.html new file mode 100644 index 0000000..9660645 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/mysql_funktionen/mysql_tablename.html @@ -0,0 +1,184 @@ + + + +mysql_tablename + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
SEL.html +

mysql_tablename

Informationsseite + +

nach unten Befehl
+ nach unten Version
+ nach unten Beschreibung
+ nach unten Beispiel
+ nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

string mysql_tablename(int Ergebnis-Kennung, int i)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit mysql_tablename() kann man sich den Namen einer Tabelle in der Datenbank
+ zurückgeben lassen. Nachdem Sie mit mysql_list_tables() einen Ergebnissatz + mit
+ der Liste der Tabellen geholt haben, können Sie mysql_tablename() + die von
+ mysql_list_tables() gelieferte Ergebnis-Kennung übergeben, um den + Namen der
+ Tabelle mit dem Index i zu ermitteln.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
+/* 
Allgemeine Daten fuer die Datenbankanbindung
und direkter Connect zur Datenbank. Nach
Einbindung dieses Segments kann direkt mit
MySQL-Befehlen auf die Datenbank zugegriffen
werden.
*/
+/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
+
/* Datenbankname */
+  $db_name = "selfphp";
+
/* Datenbankuser */
+  $db_user = "root";
+
/* Datenbankpasswort */
+  $db_passwort = "mega";
+         
+/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_PCONNECT($db_server,$db_user,$db_passwort) + or die ("Konnte keine Verbindung zur Datenbank herstellen");
$result = mysql_list_tables($db_name);
for($i=0; $i<mysql_num_rows($result); $i++){
$tabellen = mysql_tablename($result,$i);
echo $tabellen;
echo "<br>";
}
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

selfphp_forum
+ selfphp_funktionen
+ selfphp_guestbook
+ selfphp_statistik

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + PDF-Funktionen
zurück:zurückSeite + mysql_select_db
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/index.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/index.html new file mode 100644 index 0000000..d092a58 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/index.html @@ -0,0 +1,212 @@ + + + + + Übersicht PDF-Funktionen + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html

PDF-Funktionen

+Kapitelseite + +

Sinnvolle Vorkenntnisse zum Verständnis: + Vorkenntnisse PDF-Funktionen
+ In diesem Abschnitt werden PDF-Funktionen beschrieben.
+ Der Abschnitt besteht aus folgenden Seiten:

+ + +
+ +Seite pdf_add_annotation
+ +Seite pdf_add_bookmark
+ +Seite pdf_add_launchlink
+ +Seite pdf_add_locallink
+ +Seite pdf_add_note
+ +Seite pdf_add_outline
+ +Seite pdf_add_pdflink
+ +Seite pdf_add_weblink
+ +Seite pdf_arc
+ +Seite pdf_begin_page
+ +Seite pdf_circle
+ +Seite pdf_close
+ +Seite pdf_close_image
+ +Seite pdf_closepath
+ +Seite pdf_closepath_fill_stroke
+ +Seite pdf_closepath_stroke
+ +Seite pdf_continue_text
+ +Seite pdf_curveto
+ +Seite pdf_end_page
+ +Seite pdf_endpath
+ +Seite pdf_fill
+ +Seite pdf_fill_stroke
+ +Seite pdf_get_image_height
+ +Seite pdf_get_image_width
+ +Seite pdf_get_parameter
+ +Seite pdf_get_value
+ +Seite pdf_lineto
+ +Seite pdf_moveto
+ +Seite pdf_open
+ +Seite pdf_open_gif
+ +Seite pdf_open_image_file
+ +Seite pdf_open_jpeg
+ +Seite pdf_open_png
+ +Seite pdf_open_tiff
+ +Seite pdf_place_image
+ +Seite pdf_rect
+ +Seite pdf_restore
+ +Seite pdf_rotate
+ +Seite pdf_save
+ +Seite pdf_scale
+ +Seite pdf_set_border_color
+ +Seite pdf_set_border_dash
+ +Seite pdf_set_border_style
+ +Seite pdf_set_char_spacing
+ +Seite pdf_set_duration
+ +Seite pdf_set_font
+ +Seite pdf_set_horiz_scaling
+ +Seite pdf_set_info
+ +Seite pdf_set_leading
+ +Seite pdf_set_parameter
+ +Seite pdf_set_text_pos
+ +Seite pdf_set_text_rendering
+ +Seite pdf_set_text_rise
+ +Seite pdf_set_transition
+ +Seite pdf_set_value
+ +Seite pdf_set_word_spacing
+ +Seite pdf_setdash
+ +Seite pdf_setflat
+ +Seite pdf_setgray
+ +Seite pdf_setgray_fill
+ +Seite pdf_setgray_stroke
+ +Seite pdf_setlinecap
+ +Seite pdf_setlinejoin
+ +Seite pdf_setlinewidth
+ +Seite pdf_setmiterlimit
+ +Seite pdf_setrgbcolor
+ +Seite pdf_setrgbcolor_fill
+ +Seite pdf_setrgbcolor_stroke
+ +Seite pdf_show
+ +Seite pdf_show_boxed
+ +Seite pdf_show_xy
+ +Seite pdf_skew
+ +Seite pdf_stringwidth
+ +Seite pdf_stroke
+ +Seite pdf_translate
+ + + +
  +
+
+ +
+nach oben
  +
+ + + +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_annotation.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_annotation.html new file mode 100644 index 0000000..703a458 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_annotation.html @@ -0,0 +1,176 @@ + + + +pdf_add_annotation + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_add_annotation

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
void pdf_add_annotation(int PDF-Dokument, + double llx, double lly, double urx, double ury, string Titel, string Inhalt)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3>= 3.0.12, PHP 4 >= 4.0b2

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_add_annotation() kann man innerhalb eines PDF-Dokuments (PDF-
+ Dokument) eine Anmerkung (eine Art gelber Zettel) einfügen. Dabei + gibt man als
+ Größe die X-Y-Koordinaten der linken oberen Ecke (llx und lly) + und die X-Y-
+ Koordinaten der rechten unteren Ecke (urx und ury) des Anmerkungskastens + an.
+ Koordinatenursprung (0,0) ist die linke untere Ecke des Dokuments. Zusätzlich
+ wird eine Überschrift (Titel) und ein Text (Inhalt) für die + Anmerkung angegeben.
+ Ist der Text nachher innerhalb vom Acrobat-Reader zu groß, so werden
+ automatisch Scrollbalken eingeblendet, sobald man mit der Maus in den + Kasten
+ klickt.

+

Folgende Formatierungsmöglichkeiten bestehen:
+ \t - Tabulator, der Text wird eingerückt.
+ \r - Zeilenumbruch

+

Aus Darstellungsgründen wurde im unteren Beispiel nur der Anmerkungskasten
+ gezeigt. Tatsächlich würde dieser Kasten bei einem größeren + Arbeitsblatt in der
+ linken oberen Ecke platziert sein.

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200,100);
$headline = "Wichtige Notiz";
$text = "1. Inhaltsverzeichnis fehlerhaft
\t1.1 Sprungmarken fehlen
\t1.2 Text fehlt
\r2. Grafiken einbinden
\t2.1 urknall.jpg
\t2.2 irland.gif";
pdf_add_annotation($dokument,0,100,50,60,$headline, $text);
pdf_end_page($dokument);
$dokument = pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_add_bookmark
zurück:zurückSeite + PDF-Funktionen
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_bookmark.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_bookmark.html new file mode 100644 index 0000000..5ac0ee0 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_bookmark.html @@ -0,0 +1,194 @@ + + + +pdf_add_bookmark + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_add_bookmark

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
int pdf_add_bookmark(int PDF-Dokument, + string Text [, int Mutter [, int offen]])
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 4 >= 4.0.1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_add_bookmark() fügt man innerhalb eines PDF-Dokuments (PDF-
+ Dokument) ein Lesezeichen (Text) für die aktuelle Seite hinzu. Das + Lesezeichen
+ funktioniert, ähnlich wie ein Eintrag im Inhaltsverzeichnis, als + Sprungmarke zu
+ einer bestimmten Seite.
+ Rückgabewert der Funktion ist die ID des neuen Lesezeichens.
+ Sie können Lesezeichen hierarchisch sortieren. Jeder neuen Hauptgruppe + (Mutter)
+ können Sie weitere Untergruppen zuordnen, welche wiederum eigene
+ Untergruppen besitzen können. Eine Untergruppe kann so also auch + zu einer
+ Hauptgruppe werden und weitere Lesezeichen umfassen. Wenn Sie ein Lesezeichen
+ oder eine neue Untergruppe anlegen wollen, können Sie im Parameter + Mutter die ID
+ der übergeordneten Gruppe angeben, zu der das Lesezeichen bzw. die + Untergruppe
+ gehören soll.
+ Sie können mit dem optionalen Parameter offen bestimmen, ob das Inhaltsverzeichnis
+ einer bestimmten Gruppe beim Öffnen des PDF-Dokuments aus- oder eingeklappt
+ sein soll. Soll das Inhaltsverzeichnis ausgeklappt sein, so brauchen Sie + nur für offen
+ einen Wert ungleich 0 (Null) angeben.
+ Der optionale Parameter offen ist nur im Zusammenhang mit einer Gruppe + (Mutter)
+ erlaubt. Da aber die oberste Hauptgruppe (das erste Lesezeichen) keine + "Mutter"
+ besitzt, können Sie einfach einen nicht existenten Rückgabewert + (im Beispiel $_x)
+ als Gruppen-ID verwenden.
+ Beim Öffnen des unteren Beispiels klappt die Gruppe "2. Ebene" + sofort auf,
+ während die "1. Ebene" geschlossen bleibt.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$ebene1 = "1. Ebene";
$ebene2 = "1.1 Ebene";
$ebene3 = "2. Ebene";
$ebene4 = "2.1 Ebene";
$ebene5 = "2.2 Ebene";
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
$m1 = pdf_add_bookmark ($dokument, $ebene1);
$m2 = pdf_add_bookmark ($dokument, $ebene2, $m1);
$m3 = pdf_add_bookmark ($dokument,$ebene3,$_x,1);
$m4 = pdf_add_bookmark ($dokument, $ebene4, $m3);
$m5 = pdf_add_bookmark ($dokument, $ebene5, $m4);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_add_launchlink
zurück:zurückSeite + pdf_add_annotation
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_launchlink.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_launchlink.html new file mode 100644 index 0000000..3517623 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_launchlink.html @@ -0,0 +1,169 @@ + + + +pdf_add_launchlink + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_add_launchlink

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
int pdf_add_launchlink(int PDF-Dokument, + double llx, double lly, double urx, double ury, string datei)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 4 >= 4.0.5

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_add_launchlink() fügt man innerhalb eines PDF-Dokuments + (PDF-
+ Dokument) einen Link auf eine Datei ein. Dabei wird ein Kasten erstellt, + welcher
+ als Positionierungsangaben die linkere untere (llx, llx) und die rechte + obere Ecke
+ (urx, ury) besitzt. Zusätzlich wird mit dem Parameter datei der Pfad + zu der
+ Zieldatei angegeben. Im unteren Beispiel wurde eine GIF-Datei angegeben,
+ welche nach dem Klick auf den Kasten geöffnet wurde.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file_1 = "irland.gif";
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_add_launchlink ($dokument, 10, 10, 30, 30, $file_1);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_add_locallink
zurück:zurückSeite + pdf_add_bookmark
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_locallink.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_locallink.html new file mode 100644 index 0000000..6f01e48 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_locallink.html @@ -0,0 +1,185 @@ + + + +pdf_add_locallink + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_add_locallink

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
void pdf_add_locallink(int PDF-Dokument, + double llx, double lly, double urx, double ury, int seite, string dest)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 4 >= 4.0.5

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_add_locallink() kann man innerhalb eines PDF-Dokuments (PDF-
+ Dokument) einen Link auf eine andere Seite (seite) innerhalb des PDF-
+ Dokuments hinzufügen. Dabei gibt man als Größe die X-Y-Koordinaten + der
+ linken unteren Ecke (llx und lly) und der rechten oberen Ecke (urx und + ury) der
+ Linkfläche an. Im PDF-Dokument wird dann ein Kasten erstellt, welcher + als Link
+ auf die Seite seite des PDF-Dokuments verweist.

+

Der letzte Parameter (dest) legt fest, auf welche Weise das Dokument + angezeigt
+ wird. Folgende Werte sind für dest möglich:

+

fitheight - Das Dokument wird über die ganze Höhe ausgegeben.
+ fitpage - Das Dokument wird im ganzen Fenster angezeigt.
+ fitwidth - Anzeige des Dokuments über die ganze Breite.
+ retain - Das Dokument wird im gegenwärtigen Anzeigemodus des Acrobat-
+ Readers angezeigt.

+

Im unteren Beispiel wurde über den Kasten ein zusätzlicher + Text gelegt
+ ("Nächste Seite"). Geht man nun mit dem Mauszeiger über + den Kasten, so wird
+ der Link durch eine Hand dargestellt. Wenn Sie auf den Kasten klicken, + wird auf
+ die ausgewählte Seite verzweigt.

+


+ Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_set_font($dokument, "Times-Roman", 14, "winansi");
pdf_show_xy($dokument,"Nächste Seite",12,14);
pdf_add_locallink ($dokument, 10, 10, 95, 25, 2, "fitwidth");
pdf_end_page($dokument);
pdf_begin_page($dokument,200, 100);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_add_note
zurück:zurückSeite + pdf_add_launchlink
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_note.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_note.html new file mode 100644 index 0000000..5349690 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_note.html @@ -0,0 +1,177 @@ + + + +pdf_add_note + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_add_note

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
int pdf_add_note(int PDF-Dokument, + double llx, double lly, double urx, double ury, string contents, string + title, string icon, int open)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 4 >= 4.0.5

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_add_note() kann man innerhalb eines PDF-Dokuments (PDF-Dokument)
+ eine Notiz platzieren. Dabei gibt man als Größe die X-Y-Koordinaten + der linken
+ unteren Ecke (llx und lly) und der rechten oberen Ecke (urx und ury) der
+ Linkfläche an. Im unteren Beispiel wurde mit contents ein Text und + mit title eine
+ Überschrift festgelegt. Zusätzlich bestimmt man mit dem Parameter + icon die Art
+ der Darstellung und mit open, ob das anzuzeigende Fenster geöffnet + oder
+ geschlossen angezeigt werden soll.

+

Folgende Möglichkeiten für icon sind möglich:

+

comment
+ note
+ paragraph
+ newparagraph
+ key
+ help

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
$test = pdf_begin_page($dokument,200, 100);
$text_1 = "Hier steht der 1.Text. \n Und hier noch mehr!";
$text_2 = "Allgemeine Hilfe";
pdf_add_note ($dokument, 100, 100, 180, 40, $text_1, $text_2, "help", 0);
$text_1 = "Hier steht der 2.Text. \n Und hier noch mehr!";
$text_2 = "Allgemeine Hilfe";
pdf_add_note ($dokument, 10, 10, 180, 40, $text_1, $text_2, "help", 1);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_add_outline
zurück:zurückSeite + pdf_add_locallink
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_outline.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_outline.html new file mode 100644 index 0000000..2ca73ca --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_outline.html @@ -0,0 +1,196 @@ + + + +pdf_add_outline + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_add_outline

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
int pdf_add_outline(int PDF-Dokument, + string Text [, int Mutter [, int offen]])
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_add_outline() fügt man innerhalb eines PDF-Dokuments (PDF-
+ Dokument) ein Lesezeichen (Text) für die aktuelle Seite hinzu. Das + Lesezeichen
+ funktioniert, ähnlich wie ein Eintrag im Inhaltsverzeichnis, als + Sprungmarke zu
+ einer bestimmten Seite.
+ Rückgabewert der Funktion ist die ID des neuen Lesezeichens.
+ Sie können Lesezeichen hierarchisch sortieren. Jeder neuen Hauptgruppe + (Mutter)
+ können Sie weitere Untergruppen zuordnen, welche wiederum eigene
+ Untergruppen besitzen können. Eine Untergruppe kann so also auch + zu einer
+ Hauptgruppe werden und weitere Lesezeichen umfassen. Wenn Sie ein
+ Lesezeichen oder eine neue Untergruppe anlegen wollen, können Sie + im
+ Parameter Mutter die ID der übergeordneten Gruppe angeben, zu der + das
+ Lesezeichen bzw. die Untergruppe gehören soll.
+ Sie können mit dem optionalen Parameter offen bestimmen, ob das
+ Inhaltsverzeichnis einer bestimmten Gruppe beim Öffnen des PDF-Dokuments
+ aus- oder eingeklappt sein soll. Soll das Inhaltsverzeichnis ausgeklappt + sein, so
+ brauchen Sie nur für offen einen Wert ungleich 0 (Null) angeben.
+ Der optionale Parameter offen ist aber nur im Zusammenhang mit einer Gruppe
+ (Mutter) erlaubt. Da aber die oberste Hauptgruppe (das erste Lesezeichen) + keine
+ "Mutter" besitzt, können Sie einfach einen nicht existenten + Rückgabewert (im
+ Beispiel $_x) als Gruppen-ID verwenden.

+

Beim Öffnen des unteren Beispiels, klappt die Gruppe "PHP3/4" + sofort auf,
+ während "Referenz" geschlossen bleibt. Sobald Sie aber + auf "Referenz" klicken,
+ öffnet sich sofort die ganze Gruppenstruktur von "Referenz".

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,250, 150);
$_1 = pdf_add_outline($dokument,"PHP3/4",$_x,1);
pdf_add_outline($dokument,"PHP3",$_1);
pdf_add_outline($dokument,"PHP4",$_1);
pdf_set_font($dokument, "Times-Roman", 14, "winansi");
$_2 = pdf_add_outline($dokument,"Referenz");
pdf_show_xy($dokument,"Text.......",30,130);
pdf_end_page($dokument);
pdf_begin_page($dokument,250, 150);
pdf_set_font($dokument, "Times-Roman", 14, "winansi");
$_2_1 = pdf_add_outline($dokument,"Grafik",$_2,1);
pdf_show_xy($dokument,"Text.......",30,130);
pdf_end_page($dokument);
pdf_begin_page($dokument,250, 150);
pdf_set_font($dokument, "Times-Roman", 14, "winansi");
$_2_1_1 = pdf_add_outline($dokument,"PDF-Funktionen",$_2_1);
pdf_show_xy($dokument,"Text.......",30,130);
pdf_end_page($dokument);
pdf_begin_page($dokument,250, 150);
pdf_set_font($dokument, "Times-Roman", 48, "winansi");
pdf_add_outline($dokument,"Image-Funktionen",$_2_1);
pdf_show_xy($dokument,"Text.......",30,100);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_add_pdflink
zurück:zurückSeite + pdf_add_note
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_pdflink.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_pdflink.html new file mode 100644 index 0000000..e6f9d31 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_pdflink.html @@ -0,0 +1,193 @@ + + + +pdf_add_pdflink + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_add_pdflink

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
void pdf_add_pdflink(int PDF-Dokument, + double llx, double lly, double urx, double ury, string filename, int page, + string dest)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3>= 3.0.12, PHP 4

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_add_pdflink() kann man innerhalb eines PDF-Dokuments (PDF-
+ Dokument) einen Hyperlink auf eine andere PDF-Datei hinzufügen. Dabei + gibt man als
+ Größe die X-Y-Koordinaten der linken unteren Ecke (llx und + lly) und der rechten
+ oberen Ecke (urx und ury) der Hyperlinkfläche an. Im PDF-Dokument + wird dann
+ ein Kasten erstellt, welcher als Hyperlink auf den Dateinamen (filename) + des
+ PDF-Dokuments verweist. Zusätzlich kann man die Seite (page) angeben, + auf
+ welche man direkt springen möchte. Der letzte Parameter (dest) legt + fest, auf
+ welche Weise das Dokument angezeigt wird. Folgende Werte sind für + dest
+ möglich:
+ fitbox - Es werden alle Objekte ohne Berücksichtigung des Seitenrandes
+ ausgegeben.
+ fitheight - Das Dokument wird über die ganze Höhe ausgegeben.
+ fitpage - Das Dokument wird im ganzen Fenster angezeigt.
+ fitwidth - Anzeige des Dokuments über die ganze Breite.
+ retain - Das Dokument wird im gegenwärtigen Anzeigemodus des Acrobat-
+ Readers angezeigt.

+

Im unteren Beispiel wurde über den Kasten ein zusätzlicher + Text gelegt ("Lade
+ PDF-Dokument"). Geht man nun mit dem Mauszeiger über den Kasten, + so wird
+ der Link durch ein "w" mit einer Hand dargestellt. Wenn Sie + auf den Kasten
+ klicken, wird auf die ausgewählte Seite verzweigt.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200,100);
pdf_set_border_style($dokument, solid,1);
pdf_set_font($dokument, "Times-Roman", 14, "winansi");
pdf_show_xy($dokument,"zur Homepage",12,14);
pdf_add_pdflink($dokument,10,10,95,25,"php1.pdf",1,"retain");
pdf_end_page($dokument);
$dokument = pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_add_weblink
zurück:zurückSeite + pdf_add_outline
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_weblink.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_weblink.html new file mode 100644 index 0000000..d7a7fbd --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_add_weblink.html @@ -0,0 +1,178 @@ + + + +pdf_add_weblink + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_add_weblink

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
void pdf_add_weblink(int PDF-Dokument, + double llx, double lly, double urx, double ury, string url)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3>= 3.0.12, PHP 4

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_add_weblink() kann man innerhalb eines PDF-Dokuments (PDF-
+ Dokument) einen Hyperlink auf eine Website hinzufügen. Dabei gibt + man als
+ Größe die X-Y-Koordinaten der linken unteren Ecke (llx und + lly) und der rechten
+ oberen Ecke (urx und ury) der Hyperlinkfläche an. Im PDF-Dokument + wird dann
+ ein Kasten erstellt, welcher als Hyperlink auf die URL (url) der Website + verweist.
+ Im unteren Beispiel wurde über den Kasten ein zusätzlicher Text + gelegt ("zur
+ Homepage"). Geht man nun mit dem Mauszeiger über den Kasten, + so wird der
+ Link durch ein "w" mit einer Hand dargestellt. Wenn Sie auf + den Kasten klicken,
+ wird der Link in einem Browserfenster geöffnet.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200,100);
pdf_set_border_style($dokument, solid,1);
pdf_set_font($dokument, "Times-Roman", 14, "winansi");
pdf_show_xy($dokument,"zur Homepage",12,14);
pdf_add_weblink($dokument,10,10,95,25, "http://www.selfphp3.de");
pdf_end_page($dokument);
$dokument = pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_arc
zurück:zurückSeite + pdf_add_pdflink
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_arc.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_arc.html new file mode 100644 index 0000000..4fdfa11 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_arc.html @@ -0,0 +1,168 @@ + + + +pdf_arc + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_arc

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
void pdf_arc(int PDF-Dokument, + double x-Koor, double y-Koor, double Radius, double Start, double Ende)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_arc() zeichnet man innerhalb eines PDF-Dokuments (PDF-Dokument)
+ einen Bogen. Dabei wird mit den X-Y-Koordinatenpunkten x-Koor und y-Koor
+ die Bogenmitte angegeben. Der Radius des Kreises wird durch den Parameter
+ Radius bestimmt. Für die Laufweite des Bogens bestimmt man einen + Startwinkel
+ (Start) und einen Endwinkel (Ende). Der Kreisbogen wird dabei gegen den
+ Uhrzeigersinn gezeichnet.

+

+

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_setlinewidth ($dokument,3);
pdf_arc($dokument,100,50,48,0,270);
pdf_stroke($dokument);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_begin_page
zurück:zurückSeite + pdf_add_weblink
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_begin_page.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_begin_page.html new file mode 100644 index 0000000..6d8b283 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_begin_page.html @@ -0,0 +1,169 @@ + + + +pdf_begin_page + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_begin_page

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
void pdf_begin_page(int PDF-Dokument, + double Breite, double Höhe)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_begin_page() beginnt man eine neue Seite innerhalb eines PDF-
+ Dokuments (PDF-Dokument) mit der Breite Breite und der Höhe Höhe. + Dabei ist
+ darauf zu achten, dass man mindestens eine neue Seite erzeugt, welche + man mit
+ pdf_end_page() schließen sollte, um ein gültiges Dokument zu + erzeugen.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("test.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200,100);
pdf_end_page($dokument);
$dokument = pdf_close($dokument);
fclose($file);
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_circle
zurück:zurückSeite + pdf_arc
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_circle.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_circle.html new file mode 100644 index 0000000..83cbaa8 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_circle.html @@ -0,0 +1,164 @@ + + + +pdf_circle + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_circle

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
void pdf_circle(int PDF-Dokument, + double x-Koor, double y-Koor, double Radius)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_circle() zeichnet man innerhalb eines PDF-Dokuments (PDF-Dokument)
+ einen Kreis. Dabei wird mit den X-Y-Koordinatenpunkten (x-Koor und y-Koor)
+ die Kreismitte angegeben. Der Radius (Radius) des Kreises ist dabei die + Hälfte
+ des Durchmessers.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_setlinewidth ($dokument,3);
pdf_circle($dokument,100,50,48);
pdf_stroke($dokument);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_close
zurück:zurückSeite + pdf_begin_page
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_close.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_close.html new file mode 100644 index 0000000..c5a7730 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_close.html @@ -0,0 +1,161 @@ + + + +pdf_close + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_close

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
void pdf_close(int PDF-Dokument)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_close() schließt man eine PDF-Datei mittels der Datei-ID + (PDF-
+ Dokument), die zuvor von pdf_open() zurückgegeben wurde.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$datei = fopen("php.pdf", "w");
$dokument = pdf_open($datei);
pdf_close($dokument);
fclose($datei);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

// Es erfolgt keine sichtbare Ausgabe
+ // Die Datei php.pdf wurde erzeugt und geschlossen

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_close_image
zurück:zurückSeite + pdf_circle
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_close_image.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_close_image.html new file mode 100644 index 0000000..d0a0ccf --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_close_image.html @@ -0,0 +1,170 @@ + + + +pdf_close_image + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_close_image

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
int pdf_close_image(int Bild)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3>= 3.0.7, PHP 4 >= 4.0b2

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_close_image() schließt man innerhalb eines PDF-Dokuments + (PDF-
+ Dokument) ein Bild (Bild), welches man zuvor mit den Funktionen pdf_open_gif(),
+ pdf_open_png(), pdf_open_image_file(), pdf_open_jpeg(), pdf_open_memory_image()
+ oder pdf_open_tiff() geöffnet hat. Diese Funktion sollten Sie benutzen, + um das Bild
+ wieder ordnungsgemäß zu schließen.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
$im = pdf_open_gif($dokument, "bruecke.gif");
pdf_begin_page($dokument,200, 100);
pdf_place_image($dokument, $im, 10, 10, 1.0);
pdf_close_image($dokument, $im);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_closepath
zurück:zurückSeite + pdf_close
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_closepath.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_closepath.html new file mode 100644 index 0000000..93b4126 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_closepath.html @@ -0,0 +1,176 @@ + + + +pdf_closepath + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_closepath

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
void pdf_closepath(int PDF-Dokument)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_closepath() schließt man in einem PDF-Dokument (PDF-Dokument) + den
+ Zeichenpfad. Dabei wird das Ende des aktuellen Pfades mit dem Anfang des
+ Pfades verbunden.
+ Im unteren Beispiel wurde der erste Pfad mit einer horizontalen Linie + nach rechts
+ begonnen. Die zweite Linie begann automatisch am Ende der ersten Linie + und
+ zog sich in vertikaler Richtung nach unten. Die dritte Linie begann wieder + am
+ Ende der zweiten Linie und zog sich in horizontaler Richtung von rechts + nach
+ links. Danach wurde der Pfad abgeschlossen und das Ende der dritten Linie
+ schloss sich zusammen mit dem Anfang der ersten Linie.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_setlinewidth ($dokument,3);
pdf_moveto($dokument, 10, 50);
pdf_lineto($dokument, 190, 50);
pdf_lineto($dokument, 190, 20);
pdf_lineto($dokument, 50, 20);
pdf_closepath($dokument);
pdf_stroke($dokument);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_closepath_fill_stroke
zurück:zurückSeite + pdf_close_image
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_closepath_fill_stroke.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_closepath_fill_stroke.html new file mode 100644 index 0000000..8fd0c4f --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_closepath_fill_stroke.html @@ -0,0 +1,177 @@ + + + +pdf_closepath_fill_stroke + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_closepath_fill_stroke

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
void pdf_closepath_fill_stroke(int + PDF-Dokument)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_closepath_fill_stroke() schließt man einen Pfad innerhalb + eines PDF-
+ Dokuments (PDF-Dokument) und füllt das Innere des aktuellen Pfades + mit der
+ aktuell zugewiesenen Farbe. Zusätzlich zum Füllen wird entlang + des Pfades eine
+ Linie gezeichnet.
+ Im unteren Beispiel wurde ein Bogen mit 180° entgegen dem Uhrzeigersinn
+ gezeichnet. Am Ende des Pfades wurde danach eine diagonale Linie bis zum
+ unteren Rand der Seite gezogen. Mit pdf_closepath_fill_stroke wurde danach + der
+ Innenraum gefüllt und eine Linie entlang des Pfades gezeichnet.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_setgray($dokument, 0.7);
pdf_arc($dokument,100,50,48,0,180);
pdf_lineto($dokument, 100, 5);
pdf_closepath_fill_stroke($dokument);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_closepath_stroke
zurück:zurückSeite + pdf_closepath
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_closepath_stroke.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_closepath_stroke.html new file mode 100644 index 0000000..c44f16c --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_closepath_stroke.html @@ -0,0 +1,173 @@ + + + +pdf_closepath_stroke + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_closepath_stroke

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
void pdf_closepath_stroke(int + PDF-Dokument)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_closepath_stroke() schließt man in einem PDF-Dokument (PDF-
+ Dokument) den Zeichenpfad. Dabei wird das Ende des aktuellen Pfades mit + dem
+ Anfang des Pfades verbunden. Zusätzlich wird aber noch die Linie + gezeichnet
+ und der aktuelle Pfad gelöscht. Im unteren Beispiel wurde ein Bogen + mit 270°
+ entgegen dem Uhrzeigersinn gezeichnet. Am Ende des Pfades wurde danach + eine
+ vertikale Linie bis zum Mittelpunkt des Bogens gezogen. Mit pdf_closepath_stroke()
+ wurde der fehlende Pfad danach geschlossen und die Linie gezeichnet.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_setlinewidth ($dokument,3);
pdf_arc($dokument,100,50,48,0,270);
pdf_lineto($dokument, 100, 50);
pdf_closepath_stroke($dokument);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_continue_text
zurück:zurückSeite + pdf_closepath_fill_stroke
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_continue_text.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_continue_text.html new file mode 100644 index 0000000..9bee0e9 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_continue_text.html @@ -0,0 +1,174 @@ + + + +pdf_continue_text + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_continue_text

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
void pdf_continue_text(int PDF-Dokument, + string Text)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_continue_text() kann man einen Text (Text) in die nächste + Zeile eines
+ PDF-Dokuments (PDF-Dokument) schreiben. Dabei benutzt pdf_continue_text()
+ bei der Ausrichtung des Textes die Einstellungen der letzten Textfunktion + (z.B.
+ pdf_show_xy()). Falls keine dieser Textfunktionen vorher aufgerufen wurde, + so
+ ist mit der Funktion pdf_set_text_pos() die Positionsangabe für die + Textausgabe
+ zu setzen, da sonst der Text innerhalb des Dokuments nicht angezeigt werden
+ kann. Mit der Funktion pdf_set_leading() wird der Abstand zwischen den + Zeilen
+ bestimmt.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_set_leading($dokument,40);
pdf_set_font($dokument, "Times-Roman", 18, "winansi");
pdf_show_xy($dokument,"PDF-Funktionen",10,80);
pdf_set_font($dokument, "Times-Roman", 14, "winansi");
pdf_set_leading($dokument,20);
pdf_continue_text($dokument,"pdf_continue_text");
pdf_continue_text($dokument,"pdf_stringwidth");
pdf_continue_text($dokument,"pdf_setlinewidth");
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_curveto
zurück:zurückSeite + pdf_closepath_stroke
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_curveto.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_curveto.html new file mode 100644 index 0000000..3b821dd --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_curveto.html @@ -0,0 +1,178 @@ + + + +pdf_curveto + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_curveto

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
void pdf_curveto(int PDF-Dokument, + double x1, double y1, double x2, double y2, double x3, double y3)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_curveto() zeichnet man innerhalb eines PDF-Dokuments (PDF-
+ Dokument) eine Bézier-Kurve vom aktuellen Punkt (im Beispiel ist + das das Ende
+ der horizontalen Linie) zum Koordinatenpunkt (x3/y3). Dabei werden als
+ Kontrollpunkte für die Bézier-Kurve die Koordinatenpunkte + (x1/y1) und (x2/y2)
+ ausgewertet. Im unteren Beispiel wurden die Kontrollpunkte durch einen
+ dünneren Strich dargestellt.
+ Dabei ergibt sich die Bézier-Kurve aus ihren zwei Endpunkten und + durch die
+ zwei Kontrollpunkte, die die Endpunkt-Tangenten der Kurve kontrollieren. + Dabei
+ ist sie als Annäherungskurve zu sehen, das heißt die Kurve + wird die
+ Kontrollpunkte nicht schneiden, sondern versuchen, sich so nah wie möglich + an
+ die Kontrollpunkte zu platzieren.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_setlinewidth ($dokument,3);
pdf_moveto($dokument, 10, 90);
pdf_lineto($dokument, 180, 90);
pdf_curveto ($dokument,160,70,20,50,150,10);
pdf_stroke($dokument);
pdf_setlinewidth ($dokument,1);
pdf_moveto($dokument, 180, 90);
pdf_lineto($dokument, 160, 70);
pdf_stroke($dokument);
pdf_moveto($dokument, 160, 70);
pdf_lineto($dokument, 20, 50);
pdf_stroke($dokument);
pdf_moveto($dokument, 20, 50);
pdf_lineto($dokument, 150, 10);
pdf_stroke($dokument);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_end_page
zurück:zurückSeite + pdf_continue_text
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_end_page.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_end_page.html new file mode 100644 index 0000000..0c831d5 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_end_page.html @@ -0,0 +1,171 @@ + + + +pdf_end_page + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_end_page

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
void pdf_end_page(int PDF-Dokument)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_end_page() beendet man eine Seite eines PDF-Dokuments (PDF-
+ Dokument), welche man zuvor mit pdf_begin_page() erzeugt hat. Weitere
+ Änderungen auf der Seite sind nach dem Schließen nicht mehr + möglich. Sie
+ sollten diesen Befehl immer im Zusammenhang mit pdf_begin_page() nutzen, + um
+ ein gültiges Dokument zu erhalten.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("test.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200,100);
pdf_end_page($dokument);
$dokument = pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
+ An der geschlossenen Seite sind keine Änderungen mehr möglich. +

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_endpath
zurück:zurückSeite + pdf_curveto
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_endpath.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_endpath.html new file mode 100644 index 0000000..b0347d3 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_endpath.html @@ -0,0 +1,174 @@ + + + +pdf_endpath + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_endpath

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
void pdf_endpath(int PDF-Dokument)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_endpath() beendet man einen Pfad innerhalb eines PDF-Dokuments
+ (PDF-Dokument), ohne ihn explizit zu schließen. Nachfolgende Funktionen
+ werden dann nicht mehr den Endpunkt des letzten Pfades finden, um von + diesem
+ Punkt aus weiterzeichnen zu können.
+ Im unteren Beispiel wurde ein Bogen mit 180° entgegen dem Uhrzeigersinn
+ gezeichnet. Am Ende des Pfades wurde danach eine diagonale Linie bis zum
+ unteren Rand der Seite gezogen. Von diesem Endpunkt verläuft eine + horizontale
+ Linie nach rechts. Danach wurde der Pfad beendet. Es ist nun nicht mehr
+ möglich, den Anfangs-/Endpunkt des Pfads automatisch zu nutzen.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_setlinewidth ($dokument,3);
pdf_setgray($dokument, 0.7);
pdf_arc($dokument,100,50,48,0,180);
pdf_lineto($dokument, 100, 5);
pdf_lineto($dokument, 148, 5);
pdf_stroke($dokument);
pdf_endpath($dokument);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_fill
zurück:zurückSeite + pdf_end_page
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_fill.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_fill.html new file mode 100644 index 0000000..56056b0 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_fill.html @@ -0,0 +1,172 @@ + + + +pdf_fill + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_fill

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
void pdf_fill(int PDF-Dokument)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_fill() füllt man das Innere des aktuellen Pfades innerhalb + eines PDF-
+ Dokuments (PDF-Dokument) mit der aktuellen Farbe. Viele Funktionen wie + z.B.
+ pdf_circle() oder pdf_rect() erzeugen einen Pfad, den man mit pdf_fill() + mit Farbe
+ füllen kann. Im unteren Beispiel wurde das Rechteck mit einer dunkelgrauen + und
+ der Kreis mit einer hellgrauen Farbe gefüllt.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_setlinewidth ($dokument,3);
pdf_rect($dokument,10,10,180,80);
pdf_setgray($dokument, 0.8);
pdf_fill($dokument);
pdf_setgray($dokument, 0.9);
pdf_circle($dokument,100,50,30);
pdf_fill($dokument);
pdf_stroke($dokument);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_fill_stroke
zurück:zurückSeite + pdf_endpath
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_fill_stroke.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_fill_stroke.html new file mode 100644 index 0000000..03be126 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_fill_stroke.html @@ -0,0 +1,176 @@ + + + +pdf_fill_stroke + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_fill_stroke

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
void pdf_fill_stroke(int PDF-Dokument)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_fill_stroke() füllt man das Innere des aktuellen Pfades + innerhalb eines
+ PDF-Dokuments (PDF-Dokument) mit der aktuellen Farbe. Viele Funktionen + wie
+ z.B. pdf_circle() oder pdf_rect() erzeugen einen Pfad, den man mit
+ pdf_fill_stroke() mit Farbe füllen kann. Zusätzlich zum Füllen + wird entlang des
+ Pfades eine Linie gezeichnet.
+ Im unteren Beispiel wurde ein Bogen von 270° entgegen dem Uhrzeigersinn
+ gezeichnet. Am Ende des Pfades wurde danach eine vertikale Linie bis zum
+ Mittelpunkt des Bogens gezogen. Mit pdf_fill_stroke() wurde danach der
+ Innenraum gefüllt und eine Linie entlang des Pfades gezeichnet.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_setgray($dokument, 0.9);
pdf_arc($dokument,100,50,48,0,270);
pdf_lineto($dokument, 100, 50);
pdf_fill_stroke($dokument);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_get_image_height
zurück:zurückSeite + pdf_fill
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_get_image_height.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_get_image_height.html new file mode 100644 index 0000000..9af5783 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_get_image_height.html @@ -0,0 +1,176 @@ + + + +pdf_get_image_height + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_get_image_height

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
string pdf_get_image_height(int + PDF-Dokument, int Bild)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.12, PHP 4 >= 4.0b2

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_get_image_height() kann man sich die Höhe eines Bildes (Bild)
+ zurückgeben lassen und, wie im unteren Beispiel gezeigt, die Informationen
+ innerhalb des PDF-Dokuments (PDF-Dokument) nutzen. Dabei wurde ein JPEG-
+ Bild innerhalb des Dokuments mit pdf_place_image() an einer Stelle platziert + und
+ seine Höhe innerhalb eines Textes, welcher mit pdf_show_xy() erstellt + worden
+ ist, ausgegeben. Diese Funktion eignet sich besonders gut, um das Bild + innerhalb
+ eines PDF-Dokuments exakt zu positionieren.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200,100);
$img = pdf_open_jpeg($dokument, "irland.jpg");
$height = pdf_get_image_height ($dokument, $img);
pdf_set_font($dokument, "Times-Roman", 14, "winansi");
pdf_show_xy($dokument,"Bildhöhe: $height",10,88);
pdf_place_image($dokument, $img, 10, 5 , 1);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
+ Sie können sich aber bei diesem Befehl mit "echo $height;" + die
+ Höhe des Bildes ausgeben lassen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_get_image_width
zurück:zurückSeite + pdf_fill_stroke
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_get_image_width.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_get_image_width.html new file mode 100644 index 0000000..635b5ca --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_get_image_width.html @@ -0,0 +1,176 @@ + + + +pdf_get_image_width + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_get_image_width

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
string pdf_get_image_width(int + PDF-Dokument, int Bild)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3>= 3.0.12, PHP 4 >= 4.0b2

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_get_image_width() kann man sich die Breite eines Bildes (Bild)
+ zurückgeben lassen und, wie im unteren Beispiel gezeigt, die Informationen
+ innerhalb des PDF-Dokuments (PDF-Dokument) nutzen. Dabei wurde ein JPEG-
+ Bild innerhalb des Dokuments mit pdf_place_image() an einer Stelle platziert + und
+ seine Breite innerhalb eines Textes, welcher mit pdf_show_xy() erstellt + worden
+ ist, ausgegeben. Diese Funktion eignet sich besonders gut, um das Bild + innerhalb
+ eines PDF-Dokuments exakt zu positionieren.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200,100);
$img = pdf_open_jpeg($dokument, "irland.jpg");
$width = pdf_get_image_width ($dokument, $img);
pdf_set_font($dokument, "Times-Roman", 14, "winansi");
pdf_show_xy($dokument,"Bildbreite: $width",10,88);
pdf_place_image($dokument, $img, 10, 5 , 1);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
+ Sie können sich aber bei diesem Befehl mit "echo $width;" + die
+ Breite des Bildes ausgeben lassen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_get_parameter
zurück:zurückSeite + pdf_get_image_height
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_get_parameter.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_get_parameter.html new file mode 100644 index 0000000..638a77d --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_get_parameter.html @@ -0,0 +1,166 @@ + + + +pdf_get_parameter + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_get_parameter

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
string pdf_get_parameter(int + PDF-Dokument, string Name, double Modifizierer)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 4 >= 4.0.1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_get_parameter() kann man sich den Wert einer für ein PDF-Dokument
+ (PDF-Dokument) gültigen Eigenschaft (Name) vom Typ string zurückgeben
+ lassen.
+ Der optionale Parameter Modifizierer spezifiziert die gesuchte Eigenschaft
+ genauer.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200,100);
pdf_set_font($dokument, "Helvetica", 14, "winansi");
$get = pdf_get_parameter($dokument, "fontname");
pdf_show_xy($dokument,"Aktuelle Schrift: $get",5,50);
pdf_end_page($dokument);
$dokument = pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_get_value
zurück:zurückSeite + pdf_get_image_width
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_get_value.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_get_value.html new file mode 100644 index 0000000..7486f42 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_get_value.html @@ -0,0 +1,186 @@ + + + +pdf_get_value + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_get_value

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
string pdf_get_value(int PDF-Dokument, + string Name, double Modifizierer)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 4 >= 4.0.1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_get_value() kann man sich den Wert einer für ein PDF-Dokument + (PDF-
+ Dokument) gültigen Eigenschaft (Name) vom Typ double zurückgeben + lassen.
+ Der optionale Parameter Modifizierer spezifiziert die gesuchte Eigenschaft
+ genauer.
+ Für folgende Objekte können Sie Eigenschaften abfragen:
+ Bilder
+ Grafiken
+ Font/Text

+

Bilder haben folgende Eigenschaften:
+ imagewidth - Bildbreite
+ imageheight - Bildhöhe
+ resx - horizontale Auflösung
+ resy - vertikale Auflösung

+

Für Grafiken gibt es folgende Eigenschaften:
+ currentx - X-Koordinate der Position
+ currenty - Y-Koordinate der Position

+

Für Font/Text gibt es folgende Eigenschaften:
+ ascender - Abstand nach einem Zeichen
+ descender - Abstand vor einem Zeichen
+ capheight - Höhe des Zeilenabstand
+ font - Zeiger auf den Font
+ fontsize - Größe des Font
+ textx - X-Koordinate des Textes
+ texty - Y-Koordinate des Textes

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200,100);
$image = pdf_open_png($dokument, "irland.png");
pdf_place_image($dokument, $image, 10, 15, 1.0);
$breit=pdf_get_value($dokument,imagewidth,$image);
$hoch=pdf_get_value($dokument,imageheight,$image);
pdf_set_font($dokument, "Times-Roman", 14, "winansi");
pdf_show_xy($dokument,"Bildgröße: $breit x $hoch" ,10,4);
pdf_end_page($dokument);
$dokument = pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_lineto
zurück:zurückSeite + pdf_get_parameter
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_lineto.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_lineto.html new file mode 100644 index 0000000..5f47944 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_lineto.html @@ -0,0 +1,166 @@ + + + +pdf_lineto + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_lineto

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
void pdf_lineto(int PDF-Dokument, + double x-Koor, double y-Koor)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_lineto() zeichnet man innerhalb eines PDF-Dokuments (PDF-Dokument)
+ eine Gerade. Anfangspunkt der Geraden ist der Endpunkt der letzten Zeichenoperation + (z.B. pdf_arc oder pdf_moveto), Endpunkt die Koordinaten x-Koor und y-Koor. + Im Anschluss an pdf_lineto() sollten Sie pdf_stroke() aufrufen, da erst + dann die Linie
+ wirklich gezeichnet wird.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_setlinewidth ($dokument,3);
pdf_moveto($dokument, 10, 50);
pdf_lineto($dokument, 190, 50);
pdf_stroke($dokument);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_moveto
zurück:zurückSeite + pdf_get_value
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_moveto.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_moveto.html new file mode 100644 index 0000000..a33f41b --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_moveto.html @@ -0,0 +1,163 @@ + + + +pdf_moveto + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_moveto

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
void pdf_moveto(int PDF-Dokument, + double x-Koor, double y-Koor)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_moveto() setzt man innerhalb eines PDF-Dokuments (PDF-Dokument)
+ den Startpunkt für weitere Zeichenoperationen auf die Koordinaten + x-Koor und y-
+ Koor (um z.B. eine Linie mit pdf_lineto() zu zeichen).

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_setlinewidth ($dokument,3);
pdf_moveto($dokument, 10, 50);
pdf_lineto($dokument, 190, 50);
pdf_stroke($dokument);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_open
zurück:zurückSeite + pdf_lineto
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open.html new file mode 100644 index 0000000..1f03259 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open.html @@ -0,0 +1,161 @@ + + + +pdf_open + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_open

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + +
int pdf_open(int PDF-Dokument)
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_open() öffnet man eine PDF-Datei mittels der Datei-ID (Datei-
+ Deskriptor), welche zuvor mit fopen() erstellt wurde. Wird keine Datei-ID
+ angegeben, so wird die Ausgabe an den Browser oder nach stdout gesendet.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$datei = fopen("php.pdf", "w");
$dokument = pdf_open($datei);
pdf_close($dokument);
fclose($datei);
?>
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

// Es erfolgt keine sichtbare Ausgabe
+ // Die Datei php.pdf wurde erzeugt

+

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_open_gif
zurück:zurückSeite + pdf_moveto
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open_gif.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open_gif.html new file mode 100644 index 0000000..656669b --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open_gif.html @@ -0,0 +1,177 @@ + + + +pdf_open_gif + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_open_gif

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int pdf_open_gif(int PDF-Dokument, string Dateiname)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3>= 3.0.7, PHP 4 >= 4.0b2

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_open_gif() liest man ein GIF-Bild aus einer Datei (Dateiname) + und stellt
+ es dem PDF-Dokument (PDF-Dokument) zur weiteren Bearbeitung zur
+ Verfügung.
+ Im unteren Beispiel wurde ein GIF-Bild in das PDF-Dokument geladen und + mit
+ pdf_place_image() an einer bestimmten Stelle positioniert.
+ Diese Funktion sollten Sie in neuen Programmen nicht mehr verwenden.
+ Benutzen Sie an ihrer Stelle die Funktion pdf_open_image_file().

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
$im = pdf_open_gif($dokument, "fluss.gif");
pdf_begin_page($dokument,200, 100);
pdf_place_image($dokument, $im, 10, 10, 1.0);
pdf_close_image($dokument, $im);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_open_image_file
zurück:zurückSeite + pdf_open
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open_image_file.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open_image_file.html new file mode 100644 index 0000000..cae34e0 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open_image_file.html @@ -0,0 +1,182 @@ + + + +pdf_open_image_file + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_open_image_file

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int pdf_open_image_file(int PDF-Dokument, string Bildformat, string + Dateiname)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 CVS only, PHP 4 >= 4.0RC2

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_open_image_file() liest man ein Bild aus einer Datei (Dateiname) + und
+ stellt es dem PDF-Dokument (PDF-Dokument) zur weiteren Bearbeitung zur
+ Verfügung. Das Format der Bilddatei muss im Parameter (Bildformat) + angegeben
+ werden. Folgende Bildformate werden unterstützt:
+ gif
+ jpeg
+ png
+ tiff
+ Im unteren Beispiel wurde ein PNG-Bild in das PDF-Dokument geladen und + mit
+ pdf_place_image() an einer bestimmten Stelle positioniert.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
$im = pdf_open_image_file($dokument, "png", "eisberg.png");
pdf_begin_page($dokument,200, 100);
pdf_place_image($dokument, $im, 10, 10, 1.0);
pdf_close_image($dokument, $im);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_open_jpeg
zurück:zurückSeite + pdf_open_gif
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open_jpeg.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open_jpeg.html new file mode 100644 index 0000000..322ffaf --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open_jpeg.html @@ -0,0 +1,177 @@ + + + +pdf_open_jpeg + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_open_jpeg

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int pdf_open_jpeg(int PDF-Dokument, string Dateiname)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3>= 3.0.7, PHP 4 >= 4.0b2

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_open_jpeg() liest man ein JPEG-Bild aus einer Datei (Dateiname) + und
+ stellt es dem PDF-Dokument (PDF-Dokument) zur weiteren Bearbeitung zur
+ Verfügung.
+ Im unteren Beispiel wurde ein JPEG-Bild in das PDF-Dokument geladen und + mit
+ pdf_place_image() an einer bestimmten Stelle positioniert.
+ Diese Funktion sollten Sie in neuen Programmen nicht mehr verwenden.
+ Benutzen Sie an ihrer Stelle die Funktion pdf_open_image_file().

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
$im = pdf_open_jpeg($dokument, "insel.jpg");
pdf_begin_page($dokument,200, 100);
pdf_place_image($dokument, $im, 10, 10, 1.0);
pdf_close_image($dokument, $im);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_open_png
zurück:zurückSeite + pdf_open_image_file
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open_png.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open_png.html new file mode 100644 index 0000000..0771108 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open_png.html @@ -0,0 +1,178 @@ + + + +pdf_open_png + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_open_png

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int pdf_open_png(int PDF-Dokument, string Dateiname)

+

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 4 >= 4.0RC2

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_open_png() liest man ein PNG-Bild aus einer Datei (Dateiname) + und
+ stellt es dem PDF-Dokument (PDF-Dokument) zur weiteren Bearbeitung zur
+ Verfügung.
+ Im unteren Beispiel wurde ein PNG-Bild in das PDF-Dokument geladen und + mit
+ pdf_place_image() an einer bestimmten Stelle positioniert.
+ Diese Funktion sollten Sie in neuen Programmen nicht mehr verwenden.
+ Benutzen Sie an ihrer Stelle die Funktion pdf_open_image_file().

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
$im = pdf_open_png($dokument, "irland.png");
pdf_begin_page($dokument,200, 100);
pdf_place_image($dokument, $im, 10, 10, 1.0);
pdf_close_image($dokument, $im);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_open_tiff
zurück:zurückSeite + pdf_open_jpeg
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open_tiff.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open_tiff.html new file mode 100644 index 0000000..739b984 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_open_tiff.html @@ -0,0 +1,176 @@ + + + +pdf_open_tiff + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_open_tiff

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

int pdf_open_tiff(int PDF-Dokument, string Dateiname)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 4 >= 4.0b4

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_open_tiff() liest man ein TIFF-Bild aus einer Datei (Dateiname) + und
+ stellt es dem PDF-Dokument (PDF-Dokument) zur weiteren Bearbeitung zur
+ Verfügung. Im unteren Beispiel wurde ein TIFF-Bild in das PDF-Dokument
+ geladen und mit pdf_place_image() an einer bestimmten Stelle positioniert.
+ Diese Funktion sollten Sie in neuen Programmen nicht mehr verwenden.
+ Benutzen Sie an ihrer Stelle die Funktion pdf_open_image_file().
+

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
$im = pdf_open_tiff($dokument, "urwald.tif");
pdf_begin_page($dokument,200, 100);
pdf_place_image($dokument, $im, 10, 10, 1.0);
pdf_close_image($dokument, $im);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_place_image
zurück:zurückSeite + pdf_open_png
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_place_image.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_place_image.html new file mode 100644 index 0000000..20faf41 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_place_image.html @@ -0,0 +1,176 @@ + + + +pdf_place_image + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_place_image

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

void pdf_place_image(int PDF-Dokument, int Bild, double x-Koor, + double y-Koor, double scale)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3>= 3.0.7, PHP 4 >= 4.0b2

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_place_image() platziert man ein Bild (Bild) innerhalb eines PDF-
+ Dokuments (PDF-Dokument). Dabei gibt man die Position des Bildes durch + die
+ X-Y-Koordinaten (x-Koor und y-Koor) an, welche den Nullpunkt in der linken
+ unteren Ecke der Arbeitsfläche haben. Zusätzlich kann man mit + dem Parameter
+ scale eine Skalierung auf das Bild anwenden. Im unteren Beispiel wurde + eine
+ Grafik auf die Koordinaten 10/10 platziert und ein Skalierungsfaktor von + 1.0
+ angewendet (Originalgröße).
+ Um die Grafik auf die halbe Größe zu reduzieren, wendet man + einen
+ Skalierungsfaktor von 0.5 an.

+

Siehe auch:

+
    +
  • pdf_put_image()
  • +
+
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
$im = pdf_open_jpeg($dokument, "urknall.jpg");
pdf_begin_page($dokument,200, 100);
pdf_place_image($dokument, $im, 10, 10, 1.0);
pdf_close_image($dokument, $im);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_rect
zurück:zurückSeite + pdf_open_tiff
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_rect.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_rect.html new file mode 100644 index 0000000..a6b65b6 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_rect.html @@ -0,0 +1,168 @@ + + + +pdf_rect + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_rect

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

void pdf_rect(int PDF-Dokument, double x-koor, double y-koor, + double Breite, double Höhe)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_rect() zeichnet man innerhalb eines PDF-Dokuments (PDF-Dokument)
+ ein Rechteck. Dabei wird mit den X-Y-Koordinaten (x-Koor und y-Koor) die
+ linke untere Ecke des Rechtecks angegeben. Die Breite (Breite) und Höhe + (Höhe)
+ bestimmen, wie groß das Rechteck werden soll.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_setlinewidth ($dokument,3);
pdf_rect($dokument,10,10,180,80);
pdf_stroke($dokument);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_restore
zurück:zurückSeite + pdf_place_image
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_restore.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_restore.html new file mode 100644 index 0000000..e9536f4 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_restore.html @@ -0,0 +1,175 @@ + + + +pdf_restore + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_restore

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

void pdf_restore(int PDF-Dokument)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_restore() kann man den Schutz, welcher mittels pdf_save() auf + das
+ aktuelle Dokument (PDF-Dokument) gesetzt wurde, wieder aufheben. Das ist
+ oftmals sehr nützlich, um nach Änderungen im Koordinatensystem + in den
+ ursprünglichen Zustand des Dokuments zu gelangen.
+ Im unteren Beispiel wurde zuerst ein Text (1) in horizontaler Richtung
+ geschrieben. Danach wurde die Funktion pdf_save() aufgerufen, um die letzten
+ Einstellungen zu schützen. Anschließend wurden dann die Texte + 2 und 3 mittels
+ pdf_skew() im Koordinatensystem geschert. Um die ursprüngliche Umgebung
+ wieder herzustellen, wurde die Funktion pdf_restore() benutzt. Abschließend
+ wurde dann noch einmal ein Text (4) in horizontaler Richtung geschrieben.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_set_font($dokument, "Times-Roman", 24, "winansi");
pdf_setgray_fill($dokument, 0.7);
pdf_show_xy($dokument,"1.Ein kurzer Text",0,30);
pdf_save($dokument);
pdf_skew($dokument,20,10);
pdf_setgray_fill($dokument, 0);
pdf_show_xy($dokument,"2.Ein kurzer Text",0,30);
pdf_set_font($dokument, "Times-Roman", 18, "winansi");
pdf_setgray_fill($dokument, 0.5);
pdf_continue_text($dokument,"3.Ein kurzer Text");
pdf_restore($dokument);
pdf_show_xy($dokument,"4.Ein kurzer Text",30,5);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_rotate
zurück:zurückSeite + pdf_rect
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_rotate.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_rotate.html new file mode 100644 index 0000000..75ff173 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_rotate.html @@ -0,0 +1,165 @@ + + + +pdf_rotate + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_rotate

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

void pdf_rotate(int PDF-Dokument, double Winkel)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_rotate() dreht man innerhalb eines PDF-Dokuments (PDF-Dokument)
+ das Koordinatensystem um eine bestimmte Winkelangabe (Winkel) in Grad.

+

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_set_font($dokument, "Times-Roman", 16, "winansi");
pdf_setgray_fill($dokument, 0.7);
pdf_show_xy($dokument,"PHP3/4 - Die Befehlsreferenz",5,10);
pdf_rotate($dokument,20);
pdf_setgray_fill($dokument, 0);
pdf_show_xy($dokument,"PHP3/4 - Die Befehlsreferenz",5,10);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_save
zurück:zurückSeite + pdf_restore
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_save.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_save.html new file mode 100644 index 0000000..97221db --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_save.html @@ -0,0 +1,177 @@ + + + +pdf_save + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_save

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

void pdf_save(int PDF-Dokument)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3>= 3.0.6, PHP 4

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_save() kann man den aktuellen Zustand des Dokuments (PDF-
+ Dokument) sichern. Das ist oftmals sehr nützlich, wenn z.B.
+ Koordinatenverschiebungen nur für bestimmte Objekte gelten sollen. + Sobald
+ Sie die Koordinatenverschiebungen durchgeführt und die Objekte gezeichnet
+ haben, können Sie mit der Funktion pdf_restore() die ursprüngliche + Umgebung
+ wieder herstellen.
+ Im unteren Beispiel wurde zuerst ein Text (1) in horizontaler Richtung
+ geschrieben. Danach wurde die Funktion pdf_save() aufgerufen, um die letzten
+ Einstellungen zu schützen. Anschließend wurden die Texte 2 + und 3 mittels
+ pdf_skew() im Koordinatensystem geschert. Um die ursprüngliche Umgebung
+ wieder herzustellen, wurde die Funktion pdf_restore() benutzt. Abschließend
+ wurde noch einmal ein Text (4) in horizontaler Richtung geschrieben.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_set_font($dokument, "Times-Roman", 24, "winansi");
pdf_setgray_fill($dokument, 0.7);
pdf_show_xy($dokument,"1.Ein kurzer Text",0,30);
pdf_save($dokument);
pdf_skew($dokument,20,10);
pdf_setgray_fill($dokument, 0);
pdf_show_xy($dokument,"2.Ein kurzer Text",0,30);
pdf_set_font($dokument, "Times-Roman", 18, "winansi");
pdf_setgray_fill($dokument, 0.5);
pdf_continue_text($dokument,"3.Ein kurzer Text");
pdf_restore($dokument);
pdf_show_xy($dokument,"4.Ein kurzer Text",30,5);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_scale
zurück:zurückSeite + pdf_rotate
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_scale.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_scale.html new file mode 100644 index 0000000..33bccb7 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_scale.html @@ -0,0 +1,184 @@ + + + +pdf_scale + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_scale

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

void pdf_scale(int PDF-Dokument, double x-Skalierung, double y-Skalierung)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + +
+

Mit pdf_scale() setzt man innerhalb eines PDF-Dokuments (PDF-Dokument)
+ einen Skalierungsfaktor, welcher sich auf alle nachfolgenden Funktionen
+ auswirkt. Dabei wird mittels der Werte x-Skalierung und y-Skalierung festgelegt,
+ um welchen Faktor die X- und Y-Koordinatenpunkte skaliert werden sollen.
+ Durch die Skalierung wird nicht nur das gezeichnete Objekt vergrößert + bzw.
+ verkleinert, sondern auch um den Skalierungsfaktor verschoben. Es ist + darauf zu
+ achten, dass der Skalierungsfaktor nicht 0 sein darf, da es sonst zu einer
+ Fehlermeldung kommen wird.

+

Folgende Skalierungswerte sind zulässig:
+ 0.1 ' 0.9 - Verkleinerung des Objekts
+ 1 - Normale Ansicht des Objekts
+ 1.1 ' ~ - Vergrößerung des Objekts

+

Im unten stehenden Beispiel wurden zwei Linien exakt auf die gleichen
+ Koordinaten und mit der gleichen Länge gezeichnet. Bei einer Linie + wurden
+ allerdings horizontale und vertikale Skalierungsfaktoren von jeweils 4.5
+ angegeben. Diese Linie ist daher um das 4,5fache vergrößert + und um das 4,5fache
+ verschoben.

+

Siehe auch:

+ +
+ +

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_moveto($dokument, 0, 15);
pdf_lineto($dokument, 40, 15);
pdf_stroke($dokument);
pdf_scale($dokument, 4.5, 4.5);
pdf_moveto($dokument, 0, 15);
pdf_lineto($dokument, 40, 15);
pdf_stroke($dokument);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_set_border_color
zurück:zurückSeite + pdf_save
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_setdash.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_setdash.html new file mode 100644 index 0000000..180d73c --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_setdash.html @@ -0,0 +1,167 @@ + + + +pdf_setdash + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_setdash

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

void pdf_setdash(int PDF-Dokument, double Weiß, double Schwarz)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + + +
+

Mit pdf_setdash() wird innerhalb eines PDF-Dokuments (PDF-Dokument) das
+ Muster für gestrichelte Linien festgelegt. Dabei wird die Länge + der schwarzen
+ (Schwarz) und weißen (Weiß) Striche angegeben.

+

Siehe auch:

+ +
+

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_setlinewidth ($dokument,3);
pdf_setdash ($dokument,10, 10);
pdf_moveto($dokument, 0, 80);
pdf_lineto($dokument, 120, 80);
pdf_stroke($dokument);
pdf_setdash ($dokument,0, 0);
pdf_moveto($dokument, 0, 50);
pdf_lineto($dokument, 120, 50);
pdf_stroke($dokument);
pdf_setdash ($dokument,10, 20);
pdf_moveto($dokument, 0, 20);
pdf_lineto($dokument, 120, 20);
pdf_stroke($dokument);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_setflat
zurück:zurückSeite + pdf_set_word_spacing
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_setflat.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_setflat.html new file mode 100644 index 0000000..d761ca3 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_setflat.html @@ -0,0 +1,160 @@ + + + +pdf_setflat + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_setflat

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

void pdf_setflat(int PDF-Dokument, double Wert)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + + +
+

Mit pdf_setflat() legt man innerhalb eines PDF-Dokuments (PDF-Dokument) + die
+ Annährungsgenauigkeit (Wert) von einem Objekt an den Pfad fest. Der + Wert
+ kann dabei von 0 bis 100 reichen. Als Standardwert für diese Funktion + ist 0 (Null)
+ eingestellt.

+
+

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
 
+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

 

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_setgray
zurück:zurückSeite + pdf_setdash
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_setgray.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_setgray.html new file mode 100644 index 0000000..16b63f8 --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_setgray.html @@ -0,0 +1,178 @@ + + + +pdf_setgray + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_setgray

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

void pdf_setgray(int PDF-Dokument, double Grauwert)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + + +
+

Mit pdf_setgray() bestimmt man innerhalb eines PDF-Dokuments (PDF-
+ Dokument) den aktuellen Grauwert (Grauwert), mit dem eine Linie gezeichnet
+ oder ein Pfad gefüllt werden soll. Dabei können Sie einen Wert + zwischen 0 bis 1
+ eingeben, wobei 0 gleich Schwarz und 1 gleich Weiß ist. In der folgenden + Tabelle
+ sehen Sie die möglichen Farbwerte. Rechts neben den Linien finden + Sie die
+ passenden RGB-Werte zu den Farben.

+

+

+

Siehe auch:

+ +

Bei dem unteren Beispiel wurde zuerst ein Dreieck gezeichnet und nur + der Pfad
+ mit einem Grauwert belegt. Bei dem inneren Dreieck wurde zusätzlich + eine
+ Füllung vorgenommen.

+
+

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_setlinewidth ($dokument,2);
pdf_setgray($dokument, 0.8);
pdf_moveto($dokument, 50, 10);
pdf_lineto($dokument, 150, 10);
pdf_lineto($dokument, 100, 90);
pdf_closepath($dokument);
pdf_stroke($dokument);
pdf_moveto($dokument, 60, 15);
pdf_lineto($dokument, 140, 15);
pdf_lineto($dokument, 100, 80);
pdf_closepath($dokument);
pdf_fill_stroke($dokument);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_setgray_fill
zurück:zurückSeite + pdf_setflat
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file diff --git a/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_setgray_fill.html b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_setgray_fill.html new file mode 100644 index 0000000..72473aa --- /dev/null +++ b/m133/4_Modulinhalte_und_Uebungen/03 PHP Grundlagen/PHP_Referenz/funktionsreferenz/pdf_funktionen/pdf_setgray_fill.html @@ -0,0 +1,173 @@ + + + +pdf_setgray_fill + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
SEL.html +

pdf_setgray_fill

+
+Informationsseite + +

+nach unten Befehl
+nach unten Version
+nach unten Beschreibung
+nach unten Beispiel
+nach unten Ausgabe
+

+
nach unten 
+ + + +

Befehl

+ + + + + + +
+

void pdf_setgray_fill(int PDF-Dokument, double Grauwert)

+
+ +

 

+ +
+nach obennach unten  +
+ +

Version

+ + + + +
+

PHP 3 >= 3.0.6, PHP 4 >= 4.0b1

+
+ +

 

+ +
+nach obennach unten  +
+ +

Beschreibung

+ + + + + +
+

Mit pdf_setgray_fill() bestimmt man innerhalb eines PDF-Dokuments (PDF-
+ Dokument) den aktuellen Grauwert (Grauwert), mit dem ein Pfad gefüllt + werden
+ soll. Dabei können Sie einen Wert zwischen 0 bis 1 eingeben, wobei + 0 gleich
+ Schwarz und 1 gleich Weiß ist. In der folgenden Tabelle sehen Sie + die möglichen
+ Farbwerte. Rechts neben den Linien finden Sie die passenden RGB-Werte + zu den
+ Farben.

+

+

+

Siehe auch:

+ +
+

 

+ +
+nach obennach unten  +
+ +

Beispiel

+ + + + +
+
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200, 100);
pdf_setlinewidth ($dokument,3);
pdf_arc($dokument,50,50,48,35,325);
pdf_lineto($dokument, 50, 50);
pdf_closepath($dokument);
pdf_setgray_fill($dokument, 0.9);
pdf_fill($dokument);
pdf_stroke($dokument);
pdf_circle($dokument,65,80,5);
pdf_setgray_fill($dokument, 1);
pdf_fill($dokument);
pdf_stroke($dokument);
pdf_arc($dokument,162,50,28,0,180);
pdf_lineto($dokument, 132, 2);
pdf_lineto($dokument, 142, 10);
pdf_lineto($dokument, 152, 2);
pdf_lineto($dokument, 162, 10);
pdf_lineto($dokument, 172, 2);
pdf_lineto($dokument, 182, 10);
pdf_lineto($dokument, 192, 2);
pdf_setgray_fill($dokument, 0.7);
pdf_fill($dokument);
pdf_stroke($dokument);
pdf_circle($dokument,152,55,5);
pdf_circle($dokument,172,55,5);
pdf_setgray_fill($dokument, 1);
pdf_fill($dokument);
pdf_stroke($dokument);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>
+

+
+ +

 

+ +
+nach obennach unten  +
+ + +

Ausgabe

+ + + + +
+

+

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

+
+ + +

 

+ + + + + + + + + + + + + +
+nach oben +
weiter:weiterSeite + pdf_setgray_stroke
zurück:zurückSeite + pdf_setgray
 
+ + + +
+ +

© 2001, 2002, 2003 E-Mail Damir Enseleit, mail@selfphp.info

+ + + + + \ No newline at end of file

Befehl